Handle request status event transitions
This commit is contained in:
@@ -137,8 +137,7 @@ def extended_financial_verification_data(pdf_upload):
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
@pytest.fixture(scope="function", autouse=True)
|
||||
def queue():
|
||||
_queue = atst_queue
|
||||
yield _queue
|
||||
_queue.get_queue().empty()
|
||||
yield atst_queue
|
||||
atst_queue.get_queue().empty()
|
||||
|
@@ -6,13 +6,11 @@ from atst.domain.requests import Requests
|
||||
from atst.domain.requests.authorization import RequestsAuthorization
|
||||
from atst.models.request import Request
|
||||
from atst.models.request_status_event import RequestStatus
|
||||
from atst.models.task_order import Source as TaskOrderSource
|
||||
|
||||
from tests.factories import (
|
||||
RequestFactory,
|
||||
UserFactory,
|
||||
RequestStatusEventFactory,
|
||||
TaskOrderFactory,
|
||||
RequestRevisionFactory,
|
||||
RequestReviewFactory,
|
||||
)
|
||||
@@ -222,3 +220,37 @@ def test_random_user_cannot_view_request():
|
||||
request = RequestFactory.create()
|
||||
|
||||
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
|
||||
|
||||
|
||||
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_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(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
|
||||
|
@@ -239,7 +239,9 @@ def test_displays_ccpo_review_comment(user_session, client):
|
||||
request = RequestFactory.create(creator=creator)
|
||||
request = Requests.set_status(request, RequestStatus.CHANGES_REQUESTED)
|
||||
review_comment = "add all of the correct info, instead of the incorrect info"
|
||||
RequestReviewFactory.create(reviewer=ccpo, comment=review_comment, status=request.status_events[-1])
|
||||
RequestReviewFactory.create(
|
||||
reviewer=ccpo, comment=review_comment, status=request.status_events[-1]
|
||||
)
|
||||
response = client.get("/requests/new/1/{}".format(request.id))
|
||||
body = response.data.decode()
|
||||
assert review_comment in body
|
||||
|
Reference in New Issue
Block a user