def test_partner_number_is_overriden_if_customer_sponsor_number_is_set( self): self.invoice.customer.sponsor_number = 99999999 self.invoice.customer.save() report = format_invoice_csv(self.invoice) self.assertTrue('99999999' in report)
def test_offering_items_are_serialized(self): offering = support_factories.OfferingFactory( template__name='OFFERING-001', project=self.fixture.project) offering.state = offering.__class__.States.OK offering.save() report = format_invoice_csv(self.invoice) lines = report.splitlines() self.assertEqual(3, len(lines)) self.assertTrue('OFFERING-001' in ''.join(lines))
def test_usage_based_item_is_skipped_if_quantity_is_zero(self): item = self.invoice.items.first() item.unit = models.InvoiceItem.Units.QUANTITY item.quantity = 0 item.save() report = format_invoice_csv(self.invoice) lines = report.splitlines()[1:] self.assertEqual(0, len(lines))
def test_offering_items_are_serialized(self): self.offering_item = factories.OfferingItemFactory(invoice=self.invoice, offering__template__name='OFFERING-001') self.offering_item.offering.save() report = format_invoice_csv(self.invoice) lines = report.splitlines() self.assertEqual(3, len(lines)) self.assertTrue('OFFERING-001' in lines[-1])
def test_invoice_items_are_properly_formatted(self): report = format_invoice_csv(self.invoice) lines = report.splitlines() self.assertEqual(2, len(lines)) expected_header = 'customer_uuid;customer_name;project_uuid;project_name;' \ 'invoice_uuid;invoice_number;invoice_year;invoice_month;' \ 'invoice_date;due_date;invoice_price;invoice_tax;' \ 'invoice_total;name;article_code;product_code;' \ 'price;tax;total;unit_price;unit;start;end' self.assertEqual(lines[0], expected_header)
def test_invoice_items_are_properly_formatted(self): report = format_invoice_csv(self.invoice) lines = report.splitlines() self.assertEqual(2, len(lines)) expected_header = 'DOKNR;KUUPAEV;VORMKUUP;MAKSEAEG;YKSUS;PARTNER;'\ 'ARTIKKEL;KOGUS;SUMMA;RMAKSUSUM;RMAKSULIPP;'\ 'ARTPROJEKT;ARTNIMI;VALI;U_KONEDEARV;H_PERIOOD' self.assertEqual(lines[0], expected_header) expected_data = '{};30.09.2017;26.09.2017;26.10.2017;100;100;;5;1500.00;0.00;20%;' \ 'PROJEKT; (Small / PackageTemplate);;;01.09.2017-30.09.2017'.format(self.invoice.number) self.assertEqual(lines[1], expected_data)
def test_invoice_items_are_properly_formatted(self): report = format_invoice_csv(self.invoice) lines = report.splitlines() self.assertEqual(2, len(lines)) expected_header = ( 'DOKNR;KUUPAEV;VORMKUUP;MAKSEAEG;YKSUS;PARTNER;' 'ARTIKKEL;KOGUS;SUMMA;RMAKSUSUM;RMAKSULIPP;' 'ARTPROJEKT;ARTNIMI;VALI;U_KONEDEARV;U_GRUPPITUNNUS;H_PERIOOD') self.assertEqual(lines[0], expected_header) expected_data = ( '{};30.09.2017;26.09.2017;26.10.2017;100;100;;30;300.00;0.00;20%;' 'PROJEKT;OFFERING-001;Record no {}. Contact details;;{};01.09.2017-30.09.2017' ).format(self.invoice.number, self.invoice.number, self.invoice_item.project_name) self.assertEqual(lines[1], expected_data)