Files @ 252697b842c0
Branch filter:

Location: symposion_app/vendor/registrasion/registrasion/tests/test_refund.py

Joel Addison
Update to Django 2.2

Upgrade site and modules to Django 2.2. Remove and replace obsolete
functionality with current equivalents. Update requirements to latest
versions where possible. Remove unused dependencies.
import pytz

from registrasion.tests.controller_helpers import TestingCartController
from registrasion.tests.controller_helpers import TestingInvoiceController

from registrasion.tests.test_cart import RegistrationCartTestCase

from registrasion.models import commerce

UTC = pytz.timezone('UTC')


class RefundTestCase(RegistrationCartTestCase):

    def test_refund_marks_void_and_unpaid_and_cart_released(self):
        current_cart = TestingCartController.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 = TestingInvoiceController.for_cart(current_cart.cart)

        invoice.pay("A Payment!", invoice.invoice.value)
        self.assertFalse(invoice.invoice.is_void)
        self.assertTrue(invoice.invoice.is_paid)
        self.assertFalse(invoice.invoice.is_refunded)
        self.assertNotEqual(
            commerce.Cart.STATUS_RELEASED,
            invoice.invoice.cart.status,
        )

        invoice.refund()
        self.assertFalse(invoice.invoice.is_void)
        self.assertFalse(invoice.invoice.is_paid)
        self.assertTrue(invoice.invoice.is_refunded)
        self.assertEqual(
            commerce.Cart.STATUS_RELEASED,
            invoice.invoice.cart.status,
        )