create system request review when request is automatically approved because its financial info was found in EDA

This commit is contained in:
dandds 2018-11-05 15:27:33 -05:00
parent 66a10f2d2f
commit da74cfd708
3 changed files with 34 additions and 4 deletions

View File

@ -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

View File

@ -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

View File

@ -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