Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test fix
Browse files Browse the repository at this point in the history
jessiebelle committed Dec 18, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 8928f59 commit c970a52
Showing 2 changed files with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions sponsors/tests/test_pdf.py
Original file line number Diff line number Diff line change
@@ -75,20 +75,35 @@ def test_render_response_with_docx_attachment(self, MockDocxTemplate):

@patch("sponsors.pdf.DocxTemplate")
def test_render_response_with_docx_attachment__renewal(self, MockDocxTemplate):
self.context.update({"renewal": True})
template = Path(settings.TEMPLATES_DIR) / "sponsors" / "admin" / "contract-renewal-template.docx"
renewal_contract = baker.make_recipe("sponsors.tests.empty_contract", sponsorship__start_date=date.today(),
sponsorship__renewal=True)
text = f"{renewal_contract.benefits_list.raw}\n\n**Legal Clauses**\n{renewal_contract.legal_clauses.raw}"
html = render_md(text)
renewal_context = {
"contract": renewal_contract,
"start_date": renewal_contract.sponsorship.start_date,
"start_day_english_suffix": format(self.contract.sponsorship.start_date, "S"),
"sponsor": renewal_contract.sponsorship.sponsor,
"sponsorship": renewal_contract.sponsorship,
"benefits": [],
"legal_clauses": [],
"renewal": True,
}
renewal_template = "sponsors/admin/preview-contract.html"

template = Path(settings.TEMPLATES_DIR) / "sponsors" / "admin" / "renewal-contract-template.docx"
self.assertTrue(template.exists())
mocked_doc = Mock(DocxTemplate)
MockDocxTemplate.return_value = mocked_doc

request = Mock(HttpRequest)
response = render_contract_to_docx_response(request, self.contract)
response = render_contract_to_docx_response(request, renewal_contract)

MockDocxTemplate.assert_called_once_with(str(template.resolve()))
mocked_doc.render.assert_called_once_with(self.context)
mocked_doc.render.assert_called_once_with(renewal_context)
mocked_doc.save.assert_called_once_with(response)
self.assertEqual(response.get("Content-Disposition"), "attachment; filename=contract.docx")
self.assertEqual(
response.get("Content-Type"),
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
)
)

0 comments on commit c970a52

Please sign in to comment.