def test_send_learner_email_view(self, mock_mailgun_client):
"""
Test that learner emails are correctly sent through the view
"""
self.client.force_login(self.staff_user)
mock_mailgun_client.send_individual_email.return_value = Mock(
spec=Response,
status_code=status.HTTP_200_OK,
json=mocked_json()
)
url = reverse(self.url_name, kwargs={'student_id': self.recipient_user.profile.student_id})
resp_post = self.client.post(url, data=self.request_data, format='json')
assert resp_post.status_code == status.HTTP_200_OK
assert mock_mailgun_client.send_individual_email.called
_, called_kwargs = mock_mailgun_client.send_individual_email.call_args
assert called_kwargs['subject'] == self.request_data['email_subject']
assert called_kwargs['body'] == self.request_data['email_body']
assert called_kwargs['recipient'] == self.recipient_user.email
assert called_kwargs['sender_address'] == self.staff_user.email
assert called_kwargs['sender_name'] == self.staff_user.profile.display_name
assert 'raise_for_status' not in called_kwargs
评论列表
文章目录