Exemplo 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)
Exemplo 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
Exemplo n.º 3
0
    def test_validation_good_without_vat(self):
        """Test validating valid receipts."""
        receipt = factories.ReceiptFactory(
            point_of_sales=models.PointOfSales.objects.first(),
            receipt_type__code=11,
            total_amount=109,
        )
        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)
Exemplo 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)
Exemplo n.º 5
0
    def test_proper_filtering(self):
        receipt = factories.ReceiptFactory()
        factories.TaxFactory(receipt=receipt)
        factories.TaxFactory()

        self.assertEqual(receipt.total_tax, 9)
Exemplo n.º 6
0
    def test_multiple_taxes(self):
        receipt = factories.ReceiptFactory()
        factories.TaxFactory(receipt=receipt)
        factories.TaxFactory(receipt=receipt)

        self.assertEqual(receipt.total_tax, 18)