Tests now use TestingInvoiceController
This commit is contained in:
		
							parent
							
								
									ac10ea4ee8
								
							
						
					
					
						commit
						5633554854
					
				
					 5 changed files with 27 additions and 21 deletions
				
			
		|  | @ -1,4 +1,5 @@ | |||
| from registrasion.controllers.cart import CartController | ||||
| from registrasion.controllers.invoice import InvoiceController | ||||
| from registrasion import models as rego | ||||
| 
 | ||||
| from django.core.exceptions import ObjectDoesNotExist | ||||
|  | @ -28,3 +29,7 @@ class TestingCartController(CartController): | |||
|     def next_cart(self): | ||||
|         self.cart.active = False | ||||
|         self.cart.save() | ||||
| 
 | ||||
| 
 | ||||
| class TestingInvoiceController(InvoiceController): | ||||
|     pass | ||||
|  |  | |||
|  | @ -4,7 +4,8 @@ from decimal import Decimal | |||
| 
 | ||||
| from registrasion import models as rego | ||||
| from registrasion.controllers import discount | ||||
| from cart_controller_helper import TestingCartController | ||||
| from controller_helpers import TestingCartController | ||||
| from controller_helpers import TestingInvoiceController | ||||
| 
 | ||||
| from test_cart import RegistrationCartTestCase | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ from django.core.exceptions import ValidationError | |||
| 
 | ||||
| from registrasion import models as rego | ||||
| from controller_helpers import TestingCartController | ||||
| from registrasion.controllers.invoice import InvoiceController | ||||
| from controller_helpers import TestingInvoiceController | ||||
| 
 | ||||
| from test_cart import RegistrationCartTestCase | ||||
| 
 | ||||
|  | @ -20,7 +20,7 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Should be able to create an invoice after the product is added | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
|         invoice_1 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_1 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
|         # That invoice should have a single line item | ||||
|         line_items = rego.LineItem.objects.filter(invoice=invoice_1.invoice) | ||||
|         self.assertEqual(1, len(line_items)) | ||||
|  | @ -29,7 +29,7 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Adding item to cart should produce a new invoice | ||||
|         current_cart.add_to_cart(self.PROD_2, 1) | ||||
|         invoice_2 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_2 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
|         self.assertNotEqual(invoice_1.invoice, invoice_2.invoice) | ||||
| 
 | ||||
|         # The old invoice should automatically be voided | ||||
|  | @ -58,13 +58,13 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Now try to invoice the first user | ||||
|         with self.assertRaises(ValidationError): | ||||
|             InvoiceController.for_cart(current_cart.cart) | ||||
|             TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|     def test_paying_invoice_makes_new_cart(self): | ||||
|         current_cart = TestingCartController.for_user(self.USER_1) | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
| 
 | ||||
|         invoice = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice = TestingInvoiceController.for_cart(current_cart.cart) | ||||
|         invoice.pay("A payment!", invoice.invoice.value) | ||||
| 
 | ||||
|         # This payment is for the correct amount invoice should be paid. | ||||
|  | @ -99,7 +99,7 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Should be able to create an invoice after the product is added | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
|         invoice_1 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_1 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|         # That invoice should have two line items | ||||
|         line_items = rego.LineItem.objects.filter(invoice=invoice_1.invoice) | ||||
|  | @ -131,7 +131,7 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Should be able to create an invoice after the product is added | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
|         invoice_1 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_1 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|         self.assertTrue(invoice_1.invoice.paid) | ||||
| 
 | ||||
|  | @ -140,21 +140,21 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Should be able to create an invoice after the product is added | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
|         invoice_1 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_1 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|         self.assertFalse(invoice_1.invoice.void) | ||||
| 
 | ||||
|         # Adding item to cart should produce a new invoice | ||||
|         current_cart.add_to_cart(self.PROD_2, 1) | ||||
|         invoice_2 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_2 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
|         self.assertNotEqual(invoice_1.invoice, invoice_2.invoice) | ||||
| 
 | ||||
|         # Viewing invoice_1's invoice should show it as void | ||||
|         invoice_1_new = InvoiceController(invoice_1.invoice) | ||||
|         invoice_1_new = TestingInvoiceController(invoice_1.invoice) | ||||
|         self.assertTrue(invoice_1_new.invoice.void) | ||||
| 
 | ||||
|         # Viewing invoice_2's invoice should *not* show it as void | ||||
|         invoice_2_new = InvoiceController(invoice_2.invoice) | ||||
|         invoice_2_new = TestingInvoiceController(invoice_2.invoice) | ||||
|         self.assertFalse(invoice_2_new.invoice.void) | ||||
| 
 | ||||
|     def test_voiding_invoice_creates_new_invoice(self): | ||||
|  | @ -162,12 +162,12 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Should be able to create an invoice after the product is added | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
|         invoice_1 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_1 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|         self.assertFalse(invoice_1.invoice.void) | ||||
|         invoice_1.void() | ||||
| 
 | ||||
|         invoice_2 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_2 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
|         self.assertNotEqual(invoice_1.invoice, invoice_2.invoice) | ||||
| 
 | ||||
|     def test_cannot_pay_void_invoice(self): | ||||
|  | @ -175,7 +175,7 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Should be able to create an invoice after the product is added | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
|         invoice_1 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_1 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|         invoice_1.void() | ||||
| 
 | ||||
|  | @ -187,7 +187,7 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # Should be able to create an invoice after the product is added | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
|         invoice_1 = InvoiceController.for_cart(current_cart.cart) | ||||
|         invoice_1 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|         invoice_1.pay("Reference", invoice_1.invoice.value) | ||||
| 
 | ||||
|  | @ -197,7 +197,7 @@ class InvoiceTestCase(RegistrationCartTestCase): | |||
|     def test_cannot_generate_blank_invoice(self): | ||||
|         current_cart = TestingCartController.for_user(self.USER_1) | ||||
|         with self.assertRaises(ValidationError): | ||||
|             invoice_1 = InvoiceController.for_cart(current_cart.cart) | ||||
|             invoice_1 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|     # TODO: test partially paid invoice cannot be void until payments | ||||
|     # are refunded | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| import pytz | ||||
| 
 | ||||
| from controller_helpers import TestingCartController | ||||
| from registrasion.controllers.invoice import InvoiceController | ||||
| from controller_helpers import TestingInvoiceController | ||||
| 
 | ||||
| from test_cart import RegistrationCartTestCase | ||||
| 
 | ||||
|  | @ -15,7 +15,7 @@ class RefundTestCase(RegistrationCartTestCase): | |||
| 
 | ||||
|         # 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 = TestingInvoiceController.for_cart(current_cart.cart) | ||||
| 
 | ||||
|         invoice.pay("A Payment!", invoice.invoice.value) | ||||
|         self.assertFalse(invoice.invoice.void) | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ from django.db import IntegrityError | |||
| 
 | ||||
| from registrasion import models as rego | ||||
| from controller_helpers import TestingCartController | ||||
| from registrasion.controllers.invoice import InvoiceController | ||||
| from controller_helpers import TestingInvoiceController | ||||
| 
 | ||||
| from test_cart import RegistrationCartTestCase | ||||
| 
 | ||||
|  | @ -140,7 +140,7 @@ class VoucherTestCases(RegistrationCartTestCase): | |||
|         current_cart.apply_voucher(voucher.code) | ||||
|         current_cart.add_to_cart(self.PROD_1, 1) | ||||
| 
 | ||||
|         inv = InvoiceController.for_cart(current_cart.cart) | ||||
|         inv = TestingInvoiceController.for_cart(current_cart.cart) | ||||
|         if not inv.invoice.paid: | ||||
|             inv.pay("Hello!", inv.invoice.value) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer