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
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.