Files @ a65b7935a9fd
Branch filter:

Location: symposion_app/registrasion/tests/test_refund.py

Christopher Neugebauer
Merge branch 'pluggable_profile'
import datetime
import pytz

from decimal import Decimal
from django.core.exceptions import ValidationError

from registrasion import models as rego
from registrasion.controllers.cart import CartController
from registrasion.controllers.invoice import InvoiceController

from test_cart import RegistrationCartTestCase

UTC = pytz.timezone('UTC')


class RefundTestCase(RegistrationCartTestCase):

    def test_refund_marks_void_and_unpaid_and_cart_released(self):
        current_cart = CartController.for_user(self.USER_1)

        # Should be able to create an invoice after the product is added
        current_cart.add_to_cart(self.PROD_1, 1)
        invoice = InvoiceController.for_cart(current_cart.cart)

        invoice.pay("A Payment!", invoice.invoice.value)
        self.assertFalse(invoice.invoice.void)
        self.assertTrue(invoice.invoice.paid)
        self.assertFalse(invoice.invoice.cart.released)

        invoice.refund("A Refund!", invoice.invoice.value)
        self.assertTrue(invoice.invoice.void)
        self.assertFalse(invoice.invoice.paid)
        self.assertTrue(invoice.invoice.cart.released)