diff --git a/atst/app.py b/atst/app.py index 7be27a6b..1a785fe6 100644 --- a/atst/app.py +++ b/atst/app.py @@ -107,7 +107,7 @@ def make_app(config, deps, **kwargs): RequestFinancialVerification, { "page": "financial_verification", - "requests_client": deps["requests_client"], + "db_session": deps["db_session"], "fundz_client": deps["fundz_client"], }, name="financial_verification", diff --git a/atst/handlers/request_financial_verification.py b/atst/handlers/request_financial_verification.py index 4c81f9d7..a063692c 100644 --- a/atst/handlers/request_financial_verification.py +++ b/atst/handlers/request_financial_verification.py @@ -2,26 +2,23 @@ import tornado from atst.handler import BaseHandler from atst.forms.financial import FinancialForm +from atst.domain.requests import Requests class RequestFinancialVerification(BaseHandler): - def initialize(self, page, requests_client, fundz_client): + def initialize(self, page, db_session, fundz_client): self.page = page - self.requests_client = requests_client + self.requests_repo = Requests(db_session) self.fundz_client = fundz_client - @tornado.gen.coroutine def get_existing_request(self, request_id): - if request_id is None: - return {} - request = yield self.requests_client.get("/requests/{}".format(request_id)) - return request.json + return self.requests_repo.get(request_id) @tornado.web.authenticated @tornado.gen.coroutine def get(self, request_id=None): - existing_request = yield self.get_existing_request(request_id) - form = FinancialForm(data=existing_request['body'].get('financial_verification')) + existing_request = self.get_existing_request(request_id) + form = FinancialForm(data=existing_request.body.get('financial_verification')) self.render( "requests/financial_verification.html.to", page=self.page, @@ -35,39 +32,33 @@ class RequestFinancialVerification(BaseHandler): "creator_id": self.current_user["id"], "request": {"financial_verification": form_data}, } - response = yield self.requests_client.patch( - "/requests/{}".format(request_id), json=request_data - ) - return response + return self.requests_repo.update(request_id, request_data) @tornado.web.authenticated @tornado.gen.coroutine def post(self, request_id=None): self.check_xsrf_cookie() post_data = self.request.arguments - existing_request = yield self.get_existing_request(request_id) + existing_request = self.get_existing_request(request_id) form = FinancialForm(post_data) rerender_args = dict(request_id=request_id, f=form) if form.validate(): - response = yield self.update_request(request_id, form.data) - if response.ok: - valid = yield form.perform_extra_validation( - existing_request.get('body', {}).get('financial_verification'), - self.fundz_client + yield self.update_request(request_id, form.data) + valid = yield form.perform_extra_validation( + existing_request.body.get('financial_verification'), + self.fundz_client + ) + if valid: + self.redirect( + self.application.default_router.reverse_url("financial_verification_submitted") ) - if valid: - self.redirect( - self.application.default_router.reverse_url("financial_verification_submitted") - ) - else: - self.render( - "requests/financial_verification.html.to", - **rerender_args - ) else: - self.set_status(response.code) + self.render( + "requests/financial_verification.html.to", + **rerender_args + ) else: self.render( "requests/financial_verification.html.to", diff --git a/tests/handlers/test_financial_verification.py b/tests/handlers/test_financial_verification.py index 234c8d57..57b8851d 100644 --- a/tests/handlers/test_financial_verification.py +++ b/tests/handlers/test_financial_verification.py @@ -36,6 +36,7 @@ class TestPENumberInForm: "atst.handlers.request_financial_verification.RequestFinancialVerification.check_xsrf_cookie", lambda s: True ) monkeypatch.setattr("atst.forms.request.RequestForm.validate", lambda s: True) + monkeypatch.setattr("atst.domain.requests.Requests.get", lambda s, i: MOCK_REQUEST) @tornado.gen.coroutine def submit_data(self, http_client, base_url, data): @@ -64,7 +65,7 @@ class TestPENumberInForm: self._set_monkeypatches(monkeypatch) data = dict(self.required_data) - data['pe_id'] = MOCK_REQUEST['body']['financial_verification']['pe_id'] + data['pe_id'] = MOCK_REQUEST.body['financial_verification']['pe_id'] response = yield self.submit_data(http_client, base_url, data)