Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
 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))
Ejemplo n.º 3
0
    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))
Ejemplo n.º 4
0
    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])
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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)