Adds test for manual invoicing

This commit is contained in:
Christopher Neugebauer 2016-09-15 09:08:29 +10:00
parent 2e5a8e3668
commit 6469bcd8e7
2 changed files with 27 additions and 1 deletions

View file

@ -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,

View file

@ -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))