diff --git a/atst/routes/requests/financial_verification.py b/atst/routes/requests/financial_verification.py index 72b6b13a..46d43b25 100644 --- a/atst/routes/requests/financial_verification.py +++ b/atst/routes/requests/financial_verification.py @@ -7,16 +7,16 @@ from atst.forms.financial import FinancialForm, ExtendedFinancialForm class FinancialVerification: - def __init__(self, user, request_id=None, extended=False, post_data=None): + def __init__(self, user, request_id, extended=False, post_data=None): self.request = Requests.get(user, request_id) self._extended = extended - self.post_data = post_data + self._post_data = post_data self._form = None self.reset() def reset(self): - self.updateable = False - self.valid = False + self._updateable = False + self._valid = False self.workspace = None if self._form: self._form.reset() @@ -42,8 +42,8 @@ class FinancialVerification: @property def _form_data(self): - if self.post_data: - return self.post_data + if self._post_data: + return self._post_data else: form_data = self.request.body.get("financial_verification", {}) form_data.update(self._task_order_data) @@ -62,27 +62,27 @@ class FinancialVerification: def validate(self): if self.form.validate(): - self.updateable = True - self.valid = self.form.perform_extra_validation( + self._updateable = True + self._valid = self.form.perform_extra_validation( self.request.body.get("financial_verification") ) else: - self.updateable = False - self.valid = False + self._updateable = False + self._valid = False - return self.valid + return self._valid @property def pending(self): return self.request.is_pending_ccpo_approval def finalize(self): - if self.updateable: + if self._updateable: self.request = Requests.update_financial_verification( self.request.id, self.form.data ) - if self.valid: + if self._valid: self.request = Requests.submit_financial_verification(self.request) if self.request.is_financially_verified: @@ -92,9 +92,7 @@ class FinancialVerification: @requests_bp.route("/requests/verify/", methods=["GET"]) def financial_verification(request_id): finver = FinancialVerification( - g.current_user, - request_id=request_id, - extended=http_request.args.get("extended"), + g.current_user, request_id, extended=http_request.args.get("extended") ) return render_template( @@ -110,7 +108,7 @@ def financial_verification(request_id): def update_financial_verification(request_id): finver = FinancialVerification( g.current_user, - request_id=request_id, + request_id, extended=http_request.args.get("extended"), post_data=http_request.form, ) diff --git a/tests/routes/test_financial_verification.py b/tests/routes/test_financial_verification.py index aaa9b54d..e7d2938f 100644 --- a/tests/routes/test_financial_verification.py +++ b/tests/routes/test_financial_verification.py @@ -4,6 +4,7 @@ from flask import url_for from atst.eda_client import MockEDAClient from atst.models.request_status_event import RequestStatus +from atst.routes.requests.financial_verification import FinancialVerification from tests.mocks import MOCK_REQUEST, MOCK_USER from tests.factories import ( @@ -172,3 +173,36 @@ def test_displays_ccpo_review_comment(user_session, client): response = client.get("/requests/verify/{}".format(request.id)) body = response.data.decode() assert review_comment in body + + +class TestFinancialVerification: + @pytest.fixture(scope="function", autouse=True) + def apply_monkeypath(self, monkeypatch): + monkeypatch.setattr( + "atst.domain.requests.Requests.get", lambda *args: self.request + ) + + def _service_object(self, request=None, extended=False, post_data={}): + if not request: + self.request = RequestFactory.create() + else: + self.request = request + + return FinancialVerification( + UserFactory.create(), + self.request.id, + extended=extended, + post_data=post_data, + ) + + def test_is_extended(self): + finver_one = self._service_object() + assert not finver_one.is_extended + finver_two = self._service_object( + request=RequestFactory.create_with_status( + RequestStatus.CHANGES_REQUESTED_TO_FINVER + ) + ) + assert finver_two.is_extended + finver_three = self._service_object(extended=True) + assert finver_three.is_extended