diff --git a/atst/routes/requests/financial_verification.py b/atst/routes/requests/financial_verification.py index e9edcb78..37c1ad24 100644 --- a/atst/routes/requests/financial_verification.py +++ b/atst/routes/requests/financial_verification.py @@ -14,10 +14,7 @@ from atst.domain.requests.financial_verification import ( class FinancialVerificationBase(object): def _get_form(self, request, is_extended, input_data): - data = input_data - - fv_data = request.body.get("financial_verification", {}) - data = {**data, **fv_data} + existing_fv_data = request.financial_verification if request.task_order: task_order_dict = request.task_order.to_dictionary() @@ -27,13 +24,13 @@ class FinancialVerificationBase(object): "funding_type": request.task_order.funding_type.value, } ) - data = {**data, **task_order_dict} + existing_fv_data = {**existing_fv_data, **task_order_dict} - mdict = ImmutableMultiDict(data) + mdict = ImmutableMultiDict(input_data) if is_extended: - return ExtendedFinancialForm(formdata=mdict) + return ExtendedFinancialForm(formdata=mdict, data=existing_fv_data) else: - return FinancialForm(formdata=mdict) + return FinancialForm(formdata=mdict, data=existing_fv_data) def _apply_pe_number_error(self, field): suggestion = self.pe_validator.suggest_pe_id(field.data) diff --git a/tests/routes/test_financial_verification.py b/tests/routes/test_financial_verification.py index 3b290205..7863b834 100644 --- a/tests/routes/test_financial_verification.py +++ b/tests/routes/test_financial_verification.py @@ -139,6 +139,18 @@ def test_save_empty_draft(): assert save_draft.execute() +def test_save_draft_with_ba_code(): + request = RequestFactory.create() + user = UserFactory.create() + data = {"ba_code": "02A"} + save_draft = SaveFinancialVerificationDraft( + TrueValidator, TrueValidator, user, request, data, is_extended=False + ) + + response_context = save_draft.execute() + request = response_context["request"] + + def test_save_draft_with_invalid_task_order(fv_data): request = RequestFactory.create() user = UserFactory.create()