Esempio n. 1
0
 def setUp(self):
     super().setUp()
     self.receipt = factories.ReceiptFactory(
         point_of_sales=models.PointOfSales.objects.first(),
     )
     factories.VatFactory(vat_type__code=5, receipt=self.receipt)
     factories.TaxFactory(tax_type__code=3, receipt=self.receipt)
Esempio n. 2
0
 def _bad_receipt(self):
     receipt = factories.ReceiptFactory(
         point_of_sales=models.PointOfSales.objects.first(),
         document_type__code=80,
     )
     factories.VatFactory(vat_type__code=5, receipt=receipt)
     factories.TaxFactory(tax_type__code=3, receipt=receipt)
     return receipt
Esempio n. 3
0
    def test_validation_good_without_tax(self):
        """Test validating valid receipts."""
        receipt = factories.ReceiptFactory(
            point_of_sales=models.PointOfSales.objects.first(),
            total_amount=121,
        )
        factories.VatFactory(vat_type__code=5, receipt=receipt)

        errs = models.Receipt.objects.all().validate()

        self.assertEqual(len(errs), 0)
        self.assertEqual(
            receipt.validation.result,
            models.ReceiptValidation.RESULT_APPROVED,
        )
        self.assertEqual(models.ReceiptValidation.objects.count(), 1)
Esempio n. 4
0
    def test_validation_with_observations(self):
        receipt = factories.ReceiptFactory(
            document_number=20291144404,
            document_type__code=80,
            point_of_sales=models.PointOfSales.objects.first(),
            receipt_type__code=1,
        )
        factories.VatFactory(vat_type__code=5, receipt=receipt)
        factories.TaxFactory(tax_type__code=3, receipt=receipt)

        errs = models.Receipt.objects.all().validate()

        self.assertEqual(len(errs), 0)
        self.assertEqual(
            receipt.validation.result,
            models.ReceiptValidation.RESULT_APPROVED,
        )
        self.assertEqual(models.ReceiptValidation.objects.count(), 1)
        self.assertEqual(models.Observation.objects.count(), 1)
        self.assertEqual(receipt.validation.observations.count(), 1)
Esempio n. 5
0
    def test_proper_filtering(self):
        receipt = factories.ReceiptFactory()
        factories.VatFactory(receipt=receipt)
        factories.VatFactory()

        self.assertEqual(receipt.total_vat, 21)
Esempio n. 6
0
    def test_multiple_vats(self):
        receipt = factories.ReceiptFactory()
        factories.VatFactory(receipt=receipt)
        factories.VatFactory(receipt=receipt)

        self.assertEqual(receipt.total_vat, 42)