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"
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)
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()