def test_build_bundled_pdfs_if_some_are_not_prefilled(
self, logger, get_parser, SimpleUploadedFile, slack, SubService):
# two submissions
get_parser.return_value.join_pdfs.return_value = b'pdf'
mock_submissions = [Mock(), Mock()]
mock_bundle = Mock(pk=2)
mock_bundle.should_have_a_pdf.return_value = True
# one is not prefilled
mock_bundle.get_individual_filled_pdfs.return_value = [Mock()]
mock_bundle.submissions.all.return_value = mock_submissions
mock_bundle.organization.pk = 1
# run
BundlesService.build_bundled_pdf_if_necessary(mock_bundle)
error_msg = "Submissions for ApplicationBundle(pk=2) lack pdfs"
logger.error.assert_called_once_with(error_msg)
slack.assert_called_once_with(error_msg)
self.assertEqual(
len(mock_bundle.get_individual_filled_pdfs.mock_calls), 2)
mock_bundle.save.assert_called_once_with()
SubService.fill_pdfs_for_submission.assert_has_calls(
[call(mock_sub) for mock_sub in mock_submissions], any_order=True)
评论列表
文章目录