def test_set_pdf_to_empty_bytes(self): prebuilt = models.PrebuiltPDFBundle( organization=FakeOrganizationFactory()) bytes_ = b'' prebuilt.set_bytes(bytes_) prebuilt.save() # pull from db to ensure cahnges persist fetched = models.PrebuiltPDFBundle.objects.first() self.assertFalse(fetched.pdf)
def create_new_pdf_bundle_for_apps(org, apps): app_ids = [app.id for app in apps] pdf_bundle = models.PrebuiltPDFBundle(organization_id=org.id) pdf_bundle.save() pdf_bundle.applications.add(*apps) fill_any_unfilled_pdfs_for_app_ids(app_ids) filled_pdfs = models.FilledPDF.objects.filter( submission__applications__id__in=app_ids) set_bytes_to_filled_pdfs(pdf_bundle, filled_pdfs) return pdf_bundle
def test_set_pdf_to_bytes(self): org = FakeOrganizationFactory() prebuilt = models.PrebuiltPDFBundle(organization=org) bytes_ = b'zomg' prebuilt.set_bytes(bytes_) prebuilt.save() expected_filename = org.slug + '_newapps' # pull from db to ensure changes persist fetched = models.PrebuiltPDFBundle.objects.first() self.assertIn(expected_filename, fetched.pdf.name) self.assertEqual(bytes_, fetched.pdf.read())
def test_default_attributes(self): fake_org = FakeOrganizationFactory() subs = FormSubmissionWithOrgsFactory.create_batch( 4, organizations=[fake_org], answers={}) sub_ids = [sub.id for sub in subs] fake_apps = models.Application.objects.filter( form_submission__id__in=sub_ids) prebuilt = models.PrebuiltPDFBundle(organization=fake_org) prebuilt.save() prebuilt.applications.add(*fake_apps) self.assertFalse(prebuilt.pdf) self.assertEqual(prebuilt.organization, fake_org) self.assertEqual(set(prebuilt.applications.all()), set(fake_apps)) self.assertIn('Unbuilt', str(prebuilt))