From 13363ee9256a876fa37a7ff08f44a85ccae6243e Mon Sep 17 00:00:00 2001 From: richard-dds Date: Tue, 30 Oct 2018 17:05:49 -0400 Subject: [PATCH] Assert more specific details about the job --- tests/domain/test_requests.py | 61 +++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 27 deletions(-) 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