Adds test for manual invoicing
This commit is contained in:
		
							parent
							
								
									2e5a8e3668
								
							
						
					
					
						commit
						6469bcd8e7
					
				
					 2 changed files with 27 additions and 1 deletions
				
			
		|  | @ -184,7 +184,7 @@ class InvoiceController(ForId, object): | ||||||
|         invoice = commerce.Invoice.objects.create( |         invoice = commerce.Invoice.objects.create( | ||||||
|             user=user, |             user=user, | ||||||
|             cart=cart, |             cart=cart, | ||||||
|             cart_revision=cart.revision, |             cart_revision=cart.revision if cart else None, | ||||||
|             status=commerce.Invoice.STATUS_UNPAID, |             status=commerce.Invoice.STATUS_UNPAID, | ||||||
|             value=invoice_value, |             value=invoice_value, | ||||||
|             issue_time=issued, |             issue_time=issued, | ||||||
|  |  | ||||||
|  | @ -580,6 +580,32 @@ class InvoiceTestCase(RegistrationCartTestCase): | ||||||
|             cn2.credit_note.value, |             cn2.credit_note.value, | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  |     def test_can_generate_manual_invoice(self): | ||||||
|  | 
 | ||||||
|  |         description_price_pairs = [ | ||||||
|  |             ("Item 1", 15), | ||||||
|  |             ("Item 2", 30), | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  |         due_delta = datetime.timedelta(hours=24) | ||||||
|  | 
 | ||||||
|  |         _invoice = TestingInvoiceController.manual_invoice( | ||||||
|  |             self.USER_1, due_delta, description_price_pairs | ||||||
|  |         ) | ||||||
|  |         inv = TestingInvoiceController(_invoice) | ||||||
|  | 
 | ||||||
|  |         self.assertEquals( | ||||||
|  |             inv.invoice.value, | ||||||
|  |             sum(i[1] for i in description_price_pairs) | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
|  |         self.assertEquals( | ||||||
|  |             len(inv.invoice.lineitem_set.all()), | ||||||
|  |             len(description_price_pairs) | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
|  |         inv.pay("Demo payment", inv.invoice.value) | ||||||
|  | 
 | ||||||
|     def test_sends_email_on_invoice_creation(self): |     def test_sends_email_on_invoice_creation(self): | ||||||
|         invoice = self._invoice_containing_prod_1(1) |         invoice = self._invoice_containing_prod_1(1) | ||||||
|         self.assertEquals(1, len(self.emails)) |         self.assertEquals(1, len(self.emails)) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer