def test_send_attachments_to_user_action_sends_email(self, mock_get_hook): mock_get_hook.return_value = lambda transition_name: EmailContext( from_email="*****@*****.**", subject="sub", body="bod") bo_asset = BackOfficeAssetFactory(model=self.model) _, transition, _ = self._create_transition( model=bo_asset, name='transition name', source=[BackOfficeAssetStatus.new.id], target=BackOfficeAssetStatus.used.id, actions=['return_report']) attachment = Attachment.objects.create( file=SimpleUploadedFile('test_file.pdf', b'some content', content_type='application/pdf'), uploaded_by=self.user_pl, ) bo_asset.send_attachments_to_user(self.user_pl, transition.id, attachments=[attachment]) mock_get_hook.assert_called_once_with( 'back_office.transition_action.email_context') self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].from_email, "*****@*****.**")
def test_send_attachments_to_user_action_dont_send_email_without_attachments( self): # noqa: E501 bo_asset = BackOfficeAssetFactory(model=self.model) _, transition, _ = self._create_transition( model=self.bo_asset, name='transition name', source=[BackOfficeAssetStatus.new.id], target=BackOfficeAssetStatus.used.id, actions=['return_report']) bo_asset.send_attachments_to_user(self.user_pl, transition.id) self.assertEqual(len(mail.outbox), 0)