Merge pull request #429 from dod-ccpo/more-fv-fixes

Fix json serialization bug in finver form
This commit is contained in:
richard-dds 2018-11-09 15:52:16 -05:00 committed by GitHub
commit a4074000e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 3 deletions

View File

@ -1,7 +1,6 @@
import re
import datetime
from flask import current_app as app
from werkzeug.datastructures import FileStorage
def iconSvg(name):
@ -47,9 +46,9 @@ def mixedContentToJson(value):
if (
isinstance(value, dict)
and "task_order" in value
and isinstance(value["task_order"], FileStorage)
and hasattr(value["task_order"]["pdf"], "filename")
):
value["task_order"] = value["task_order"].filename
value["task_order"]["pdf"] = value["task_order"]["pdf"].filename
return app.jinja_env.filters["tojson"](value)

View File

@ -487,3 +487,35 @@ def test_can_submit_once_to_details_are_entered(fv_data, e_fv_data):
assert UpdateFinancialVerification(
TrueValidator, TrueValidator, user, request, data, is_extended=True
).execute()
def test_existing_task_order_with_pdf(fv_data, e_fv_data, client, user_session):
# Use finver route to create initial TO #1, complete with PDF
user = UserFactory.create()
request = RequestFactory.create(creator=user)
data = {**fv_data, **e_fv_data, "task_order-number": MANUAL_TO_NUMBER}
UpdateFinancialVerification(
TrueValidator, TaskOrderNumberValidator(), user, request, data, is_extended=True
).execute()
# Save draft on a new finver form, but with same number as TO #1
user = UserFactory.create()
request = RequestFactory.create(creator=user)
data = {"task_order-number": MANUAL_TO_NUMBER}
SaveFinancialVerificationDraft(
TrueValidator,
TaskOrderNumberValidator(),
user,
request,
data,
is_extended=False,
).execute()
# Get finver form
user_session(user)
response = client.get(
url_for("requests.financial_verification", request_id=request.id),
follow_redirects=True,
)
assert response.status_code == 200