requests domain method for rejecting request with appropriate status
This commit is contained in:
parent
68a32e0a08
commit
6859d562d6
@ -291,6 +291,9 @@ WHERE requests_with_status.status = :status
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def request_changes(cls, user, request, review_data):
|
def request_changes(cls, user, request, review_data):
|
||||||
|
if request.status == RequestStatus.PENDING_CCPO_ACCEPTANCE:
|
||||||
Requests.set_status(request, RequestStatus.CHANGES_REQUESTED)
|
Requests.set_status(request, RequestStatus.CHANGES_REQUESTED)
|
||||||
|
elif request.status == RequestStatus.PENDING_CCPO_APPROVAL:
|
||||||
|
Requests.set_status(request, RequestStatus.CHANGES_REQUESTED_TO_FINVER)
|
||||||
|
|
||||||
return Requests._add_review(user, request, review_data)
|
return Requests._add_review(user, request, review_data)
|
||||||
|
@ -182,11 +182,8 @@ def test_set_status_sets_revision():
|
|||||||
|
|
||||||
|
|
||||||
def test_advance_to_financial_verification():
|
def test_advance_to_financial_verification():
|
||||||
request = RequestFactory.create()
|
request = RequestFactory.create_with_status(
|
||||||
RequestStatusEventFactory.create(
|
status=RequestStatus.PENDING_CCPO_ACCEPTANCE
|
||||||
request=request,
|
|
||||||
revision=request.latest_revision,
|
|
||||||
new_status=RequestStatus.PENDING_CCPO_ACCEPTANCE,
|
|
||||||
)
|
)
|
||||||
review_data = RequestReviewFactory.dictionary()
|
review_data = RequestReviewFactory.dictionary()
|
||||||
Requests.advance(UserFactory.create(), request, review_data)
|
Requests.advance(UserFactory.create(), request, review_data)
|
||||||
@ -196,12 +193,31 @@ def test_advance_to_financial_verification():
|
|||||||
|
|
||||||
|
|
||||||
def test_advance_to_approval():
|
def test_advance_to_approval():
|
||||||
request = RequestFactory.create()
|
request = RequestFactory.create_with_status(
|
||||||
RequestStatusEventFactory.create(
|
status=RequestStatus.PENDING_CCPO_APPROVAL
|
||||||
request=request,
|
|
||||||
revision=request.latest_revision,
|
|
||||||
new_status=RequestStatus.PENDING_CCPO_APPROVAL,
|
|
||||||
)
|
)
|
||||||
review_data = RequestReviewFactory.dictionary()
|
review_data = RequestReviewFactory.dictionary()
|
||||||
Requests.advance(UserFactory.create(), request, review_data)
|
Requests.advance(UserFactory.create(), request, review_data)
|
||||||
assert request.status == RequestStatus.APPROVED
|
assert request.status == RequestStatus.APPROVED
|
||||||
|
|
||||||
|
|
||||||
|
def test_request_changes_to_request_application():
|
||||||
|
request = RequestFactory.create_with_status(
|
||||||
|
status=RequestStatus.PENDING_CCPO_ACCEPTANCE
|
||||||
|
)
|
||||||
|
review_data = RequestReviewFactory.dictionary()
|
||||||
|
Requests.request_changes(UserFactory.create(), request, review_data)
|
||||||
|
assert request.status == RequestStatus.CHANGES_REQUESTED
|
||||||
|
current_review = request.latest_status.review
|
||||||
|
assert current_review.fname_mao == review_data["fname_mao"]
|
||||||
|
|
||||||
|
|
||||||
|
def test_request_changes_to_financial_verification_info():
|
||||||
|
request = RequestFactory.create_with_status(
|
||||||
|
status=RequestStatus.PENDING_CCPO_APPROVAL
|
||||||
|
)
|
||||||
|
review_data = RequestReviewFactory.dictionary()
|
||||||
|
Requests.request_changes(UserFactory.create(), request, review_data)
|
||||||
|
assert request.status == RequestStatus.CHANGES_REQUESTED_TO_FINVER
|
||||||
|
current_review = request.latest_status.review
|
||||||
|
assert current_review.fname_mao == review_data["fname_mao"]
|
||||||
|
@ -148,6 +148,14 @@ class RequestFactory(Base):
|
|||||||
|
|
||||||
return RequestRevisionFactory.build(**data)
|
return RequestRevisionFactory.build(**data)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def create_with_status(cls, status=RequestStatus.STARTED, **kwargs):
|
||||||
|
request = RequestFactory(**kwargs)
|
||||||
|
RequestStatusEventFactory.create(
|
||||||
|
request=request, revision=request.latest_revision, new_status=status
|
||||||
|
)
|
||||||
|
return request
|
||||||
|
|
||||||
|
|
||||||
class PENumberFactory(Base):
|
class PENumberFactory(Base):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -71,11 +71,8 @@ def test_task_order_download_does_not_exist(client, user_session):
|
|||||||
def test_can_submit_request_approval(client, user_session):
|
def test_can_submit_request_approval(client, user_session):
|
||||||
user = UserFactory.from_atat_role("ccpo")
|
user = UserFactory.from_atat_role("ccpo")
|
||||||
user_session(user)
|
user_session(user)
|
||||||
request = RequestFactory.create()
|
request = RequestFactory.create_with_status(
|
||||||
RequestStatusEventFactory.create(
|
status=RequestStatus.PENDING_CCPO_ACCEPTANCE
|
||||||
request=request,
|
|
||||||
revision=request.latest_revision,
|
|
||||||
new_status=RequestStatus.PENDING_CCPO_ACCEPTANCE,
|
|
||||||
)
|
)
|
||||||
review_data = RequestReviewFactory.dictionary()
|
review_data = RequestReviewFactory.dictionary()
|
||||||
review_data["approved"] = True
|
review_data["approved"] = True
|
||||||
@ -89,7 +86,9 @@ def test_can_submit_request_approval(client, user_session):
|
|||||||
def test_can_submit_request_denial(client, user_session):
|
def test_can_submit_request_denial(client, user_session):
|
||||||
user = UserFactory.from_atat_role("ccpo")
|
user = UserFactory.from_atat_role("ccpo")
|
||||||
user_session(user)
|
user_session(user)
|
||||||
request = RequestFactory.create()
|
request = RequestFactory.create_with_status(
|
||||||
|
status=RequestStatus.PENDING_CCPO_ACCEPTANCE
|
||||||
|
)
|
||||||
review_data = RequestReviewFactory.dictionary()
|
review_data = RequestReviewFactory.dictionary()
|
||||||
review_data["denied"] = True
|
review_data["denied"] = True
|
||||||
response = client.post(
|
response = client.post(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user