diff --git a/atst/forms/financial.py b/atst/forms/financial.py index 68196837..674eace4 100644 --- a/atst/forms/financial.py +++ b/atst/forms/financial.py @@ -70,7 +70,7 @@ class FinancialForm(ValidatedForm): "Unique Item Identifier (UII)s related to your application(s) if you already have them." ) - pe_id = StringField("Program Element (PE) Number related to your request") + pe_id = StringField("Program Element (PE) Number related to your request", validators=[Required()]) treasury_code = StringField("Program Treasury Code") diff --git a/atst/routes/requests/financial_verification.py b/atst/routes/requests/financial_verification.py index ce70eaee..f6b8cfda 100644 --- a/atst/routes/requests/financial_verification.py +++ b/atst/routes/requests/financial_verification.py @@ -25,10 +25,10 @@ def update_financial_verification(request_id): if form.validate(): request_data = {"financial_verification": post_data} - Requests.update(request_id, request_data) valid = form.perform_extra_validation( existing_request.body.get("financial_verification") ) + Requests.update(request_id, request_data) if valid: return redirect(url_for("requests.financial_verification_submitted")) else: diff --git a/tests/routes/test_financial_verification.py b/tests/routes/test_financial_verification.py index e15638df..8e62cc48 100644 --- a/tests/routes/test_financial_verification.py +++ b/tests/routes/test_financial_verification.py @@ -72,3 +72,14 @@ class TestPENumberInForm: assert response.status_code == 302 assert "/requests/financial_verification_submitted" in response.headers.get("Location") + + def test_submit_request_form_with_missing_pe_id(self, monkeypatch, client): + self._set_monkeypatches(monkeypatch) + + data = dict(self.required_data) + data['pe_id'] = '' + + response = self.submit_data(client, data) + + assert "There were some errors, see below" in response.data.decode() + assert response.status_code == 200