diff --git a/tests/domain/test_requests.py b/tests/domain/test_requests.py index 72971568..23e2122e 100644 --- a/tests/domain/test_requests.py +++ b/tests/domain/test_requests.py @@ -222,35 +222,42 @@ def test_random_user_cannot_view_request(): assert not RequestsAuthorization(user, request).can_view -def test_pending_finver_triggers_notification(queue): - request = RequestFactory.create() - request = Requests.set_status(request, RequestStatus.PENDING_CCPO_ACCEPTANCE) - request = Requests.set_status(request, RequestStatus.PENDING_FINANCIAL_VERIFICATION) - assert len(queue.get_queue()) == 1 +class TestStatusNotifications(object): + def _assert_job(self, queue, request): + assert len(queue.get_queue()) == 1 + job = queue.get_queue().jobs[0] + assert job.func == queue._send_mail + assert job.args[0] == [request.creator.email] + def test_pending_finver_triggers_notification(self, queue): + request = RequestFactory.create() + request = Requests.set_status(request, RequestStatus.PENDING_CCPO_ACCEPTANCE) + request = Requests.set_status( + request, RequestStatus.PENDING_FINANCIAL_VERIFICATION + ) + self._assert_job(queue, request) -def test_changes_requested_triggers_notification(queue): - request = RequestFactory.create() - request = Requests.set_status(request, RequestStatus.PENDING_CCPO_ACCEPTANCE) - request = Requests.set_status(request, RequestStatus.CHANGES_REQUESTED) - assert len(queue.get_queue()) == 1 + def test_changes_requested_triggers_notification(self, queue): + request = RequestFactory.create() + request = Requests.set_status(request, RequestStatus.PENDING_CCPO_ACCEPTANCE) + request = Requests.set_status(request, RequestStatus.CHANGES_REQUESTED) + self._assert_job(queue, request) + def test_changes_requested_to_finver_triggers_notification(self, queue): + request = RequestFactory.create() + request = Requests.set_status(request, RequestStatus.PENDING_CCPO_APPROVAL) + request = Requests.set_status( + request, RequestStatus.CHANGES_REQUESTED_TO_FINVER + ) + self._assert_job(queue, request) -def test_changes_requested_to_finver_triggers_notification(queue): - request = RequestFactory.create() - request = Requests.set_status(request, RequestStatus.PENDING_CCPO_APPROVAL) - request = Requests.set_status(request, RequestStatus.CHANGES_REQUESTED_TO_FINVER) - assert len(queue.get_queue()) == 1 + def test_approval_triggers_notification(self, queue): + request = RequestFactory.create() + request = Requests.set_status(request, RequestStatus.PENDING_CCPO_APPROVAL) + request = Requests.set_status(request, RequestStatus.APPROVED) + self._assert_job(queue, request) - -def test_approval_triggers_notification(queue): - request = RequestFactory.create() - request = Requests.set_status(request, RequestStatus.PENDING_CCPO_APPROVAL) - request = Requests.set_status(request, RequestStatus.APPROVED) - assert len(queue.get_queue()) == 1 - - -def test_submitted_does_not_trigger_notification(queue): - request = RequestFactory.create() - request = Requests.set_status(request, RequestStatus.SUBMITTED) - assert len(queue.get_queue()) == 0 + def test_submitted_does_not_trigger_notification(self, queue): + request = RequestFactory.create() + request = Requests.set_status(request, RequestStatus.SUBMITTED) + assert len(queue.get_queue()) == 0