diff --git a/atst/domain/requests/requests.py b/atst/domain/requests/requests.py index 65322a2b..b0724632 100644 --- a/atst/domain/requests/requests.py +++ b/atst/domain/requests/requests.py @@ -63,10 +63,22 @@ class Requests(object): request = Requests.set_status(request, RequestStatus.SUBMITTED) if Requests.should_auto_approve(request): - request = Requests.set_status(request, RequestStatus.PENDING_FINANCIAL_VERIFICATION) - Requests._add_review(None, request, {"comment": "Auto-approval for dollar value below {}".format(Requests.AUTO_APPROVE_THRESHOLD)}) + request = Requests.set_status( + request, RequestStatus.PENDING_FINANCIAL_VERIFICATION + ) + Requests._add_review( + None, + request, + { + "comment": "Auto-acceptance for dollar value below {}".format( + Requests.AUTO_APPROVE_THRESHOLD + ) + }, + ) else: - request = Requests.set_status(request, RequestStatus.PENDING_CCPO_ACCEPTANCE) + request = Requests.set_status( + request, RequestStatus.PENDING_CCPO_ACCEPTANCE + ) request = RequestsQuery.add_and_commit(request) @@ -94,6 +106,16 @@ class Requests(object): return workspace + @classmethod + def auto_approve_and_create_workspace( + cls, + request, + reason="Financial verification information found in Electronic Document Access API", + ): + workspace = Requests.approve_and_create_workspace(request) + Requests._add_review(None, request, {"comment": reason}) + return workspace + @classmethod def set_status(cls, request, status: RequestStatus): old_status = request.status diff --git a/atst/routes/requests/financial_verification.py b/atst/routes/requests/financial_verification.py index 0e37f068..cb2e1bb5 100644 --- a/atst/routes/requests/financial_verification.py +++ b/atst/routes/requests/financial_verification.py @@ -241,7 +241,7 @@ def update_financial_verification(request_id): ) if updated_request.task_order.verified: - workspace = Requests.approve_and_create_workspace(updated_request) + workspace = Requests.auto_approve_and_create_workspace(updated_request) return redirect( url_for( "workspaces.new_project", workspace_id=workspace.id, newWorkspace=True diff --git a/tests/domain/test_requests.py b/tests/domain/test_requests.py index aeb01ff0..4143d4fb 100644 --- a/tests/domain/test_requests.py +++ b/tests/domain/test_requests.py @@ -224,6 +224,14 @@ def test_random_user_cannot_view_request(): assert not RequestsAuthorization(user, request).can_view +def test_auto_approve_and_create_workspace(): + request = RequestFactory.create() + workspace = Requests.auto_approve_and_create_workspace(request) + assert workspace + assert request.reviews[0] + assert request.reviews[0].full_name_reviewer == "System" + + class TestStatusNotifications(object): def _assert_job(self, queue, request): assert len(queue.get_queue()) == 1