parent
							
								
									dec0a759ca
								
							
						
					
					
						commit
						e05265edd2
					
				
					 1 changed files with 26 additions and 1 deletions
				
			
		|  | @ -168,7 +168,7 @@ class InvoiceTestCase(TestHelperMixin, RegistrationCartTestCase): | ||||||
| 
 | 
 | ||||||
|         self.assertTrue(invoice_1.invoice.is_paid) |         self.assertTrue(invoice_1.invoice.is_paid) | ||||||
| 
 | 
 | ||||||
|     def test_invoice_voids_self_if_cart_is_invalid(self): |     def test_invoice_voids_self_if_cart_changes(self): | ||||||
|         current_cart = TestingCartController.for_user(self.USER_1) |         current_cart = TestingCartController.for_user(self.USER_1) | ||||||
| 
 | 
 | ||||||
|         # Should be able to create an invoice after the product is added |         # Should be able to create an invoice after the product is added | ||||||
|  | @ -190,6 +190,31 @@ class InvoiceTestCase(TestHelperMixin, RegistrationCartTestCase): | ||||||
|         invoice_2_new = TestingInvoiceController(invoice_2.invoice) |         invoice_2_new = TestingInvoiceController(invoice_2.invoice) | ||||||
|         self.assertFalse(invoice_2_new.invoice.is_void) |         self.assertFalse(invoice_2_new.invoice.is_void) | ||||||
| 
 | 
 | ||||||
|  |     def test_invoice_voids_self_if_cart_becomes_invalid(self): | ||||||
|  |         ''' Invoices should be void if cart becomes invalid over time ''' | ||||||
|  | 
 | ||||||
|  |         self.make_ceiling("Limit ceiling", limit=1) | ||||||
|  |         self.set_time(datetime.datetime( | ||||||
|  |             year=2015, month=1, day=1, hour=0, minute=0, tzinfo=UTC, | ||||||
|  |         )) | ||||||
|  | 
 | ||||||
|  |         cart1 = TestingCartController.for_user(self.USER_1) | ||||||
|  |         cart2 = TestingCartController.for_user(self.USER_2) | ||||||
|  | 
 | ||||||
|  |         # Create a valid invoice for USER_1 | ||||||
|  |         cart1.add_to_cart(self.PROD_1, 1) | ||||||
|  |         inv1 = TestingInvoiceController.for_cart(cart1.cart) | ||||||
|  | 
 | ||||||
|  |         # Expire the reservations, and have USER_2 take up PROD_1's ceiling | ||||||
|  |         # generate an invoice | ||||||
|  |         self.add_timedelta(self.RESERVATION * 2) | ||||||
|  |         cart2.add_to_cart(self.PROD_2, 1) | ||||||
|  |         inv2 = TestingInvoiceController.for_cart(cart2.cart) | ||||||
|  | 
 | ||||||
|  |         # Re-get inv1's invoice; it should void itself on loading. | ||||||
|  |         inv1 = TestingInvoiceController(inv1.invoice) | ||||||
|  |         self.assertTrue(inv1.invoice.is_void) | ||||||
|  | 
 | ||||||
|     def test_voiding_invoice_creates_new_invoice(self): |     def test_voiding_invoice_creates_new_invoice(self): | ||||||
|         invoice_1 = self._invoice_containing_prod_1(1) |         invoice_1 = self._invoice_containing_prod_1(1) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer