diff --git a/atst/routes/requests/financial_verification.py b/atst/routes/requests/financial_verification.py index 63064a53..47d0622d 100644 --- a/atst/routes/requests/financial_verification.py +++ b/atst/routes/requests/financial_verification.py @@ -13,7 +13,7 @@ from atst.domain.requests.financial_verification import ( ) from atst.models.attachment import Attachment from atst.domain.task_orders import TaskOrders -from atst.utils import getattr_path, update_obj +from atst.utils import getattr_path def fv_extended(_http_request): @@ -74,14 +74,14 @@ class FinancialVerificationBase(object): form_data = form.data task_order_number = form_data.pop("task_order_number") - if task_order_number is None: + if not task_order_number: return None task_order_data = { k: v for (k, v) in form_data.items() if k in TaskOrders.TASK_ORDER_DATA } task_order_data["number"] = task_order_number - funding_type = getattr_path(form_data, "funding_type.data") + funding_type = form_data.get("funding_type") task_order_data["funding_type"] = funding_type if funding_type != "" else None if attachment: diff --git a/tests/routes/test_financial_verification.py b/tests/routes/test_financial_verification.py index 0b2c10c4..aea6f95b 100644 --- a/tests/routes/test_financial_verification.py +++ b/tests/routes/test_financial_verification.py @@ -22,6 +22,7 @@ from atst.domain.requests.financial_verification import ( PENumberValidator, TaskOrderNumberValidator, ) +from atst.utils import pick @pytest.fixture @@ -243,6 +244,36 @@ def test_task_order_info_present_in_extended_form( assert form.clin_0001.data +def test_simple_form_does_not_generate_task_order(fv_data): + request = RequestFactory.create() + user = UserFactory.create() + data = pick(["uii_ids"], fv_data) + updated_request = SaveFinancialVerificationDraft( + TrueValidator, TrueValidator, user, request, data, is_extended=False + ).execute() + + assert updated_request.task_order is None + + +def test_can_save_draft_with_funding_type( + fv_data, extended_financial_verification_data +): + request = RequestFactory.create() + user = UserFactory.create() + data = { + "task_order_number": fv_data["task_order_number"], + "funding_type": extended_financial_verification_data["funding_type"], + } + updated_request = SaveFinancialVerificationDraft( + TrueValidator, TrueValidator, user, request, data, is_extended=False + ).execute() + + import ipdb + + ipdb.set_trace() + assert updated_request.task_order.funding_type + + def test_update_fv_route(client, user_session, fv_data): user = UserFactory.create() request = RequestFactory.create(creator=user)