Пример #1
0
def test_template_discovery(client):
    taxpayer = factories.TaxPayerFactory(cuit="20329642330")
    factories.TaxPayerProfileFactory(taxpayer=taxpayer)
    pdf = factories.ReceiptPDFFactory(
        receipt__point_of_sales__owner=taxpayer,
        receipt__point_of_sales__number=9999,
        receipt__receipt_type__code=6,
    )
    factories.ReceiptValidationFactory(receipt=pdf.receipt)

    client = Client()
    response = client.get("{}?html=true".format(
        reverse("receipt_displaypdf_view", args=(pdf.receipt.pk, ))))

    assert response.content == b"This is a dummy template to test template discovery.\n"
Пример #2
0
    def test_pdf_view(self):
        """
        Test the PDF generation view.
        """
        taxpayer = factories.TaxPayerFactory()

        factories.TaxPayerProfileFactory(taxpayer=taxpayer)
        pdf = factories.ReceiptPDFFactory(
            receipt__point_of_sales__owner=taxpayer, )
        factories.ReceiptValidationFactory(receipt=pdf.receipt)

        client = Client()
        response = client.get(
            reverse("receipt_pdf_view", args=(pdf.receipt.pk, )))

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.content[:7], b"%PDF-1.")

        headers = sorted(response.serialize_headers().decode().splitlines())
        self.assertIn("Content-Type: application/pdf", headers)
Пример #3
0
    def test_unauthorized_receipt_generation(self):
        """
        Test PDF file generation for unauthorized receipts.

        Confirm that attempting to generate a PDF for an unauthorized receipt
        raises.
        """
        taxpayer = factories.TaxPayerFactory()
        factories.TaxPayerProfileFactory(taxpayer=taxpayer)
        receipt = factories.ReceiptFactory(
            receipt_number=None,
            point_of_sales__owner=taxpayer,
        )
        pdf = models.ReceiptPDF.objects.create_for_receipt(
            receipt=receipt,
            client_name="John Doe",
            client_address="12 Green Road\nGreenville\nUK",
        )
        with self.assertRaisesMessage(
            Exception, "Cannot generate pdf for non-authorized receipt"
        ):
            pdf.save_pdf()