Merge pull request #425 from dod-ccpo/fix-attachment-error

Fix bug where finver page tries to render task order PDF
This commit is contained in:
richard-dds 2018-11-05 14:25:51 -05:00 committed by GitHub
commit 673e6efbce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 46 additions and 7 deletions

View File

@ -30,12 +30,12 @@ class FinancialVerificationBase(object):
_formdata = ImmutableMultiDict(formdata) if formdata is not None else None
fv = FinancialVerification(request)
form = FinancialVerificationForm(obj=fv, formdata=_formdata)
if is_extended:
try:
attachment = Attachment.get_for_resource("task_order", self.request.id)
form.task_order.pdf.data = attachment.filename
except NotFoundError:
pass
try:
attachment = Attachment.get_for_resource("task_order", self.request.id)
form.task_order.pdf.data = attachment.filename
except NotFoundError:
pass
return form
@ -173,7 +173,7 @@ class SaveFinancialVerificationDraft(FinancialVerificationBase):
if not form.validate_draft():
self._raise(form)
if not self.pe_validator.validate(self.request, form.pe_id):
if form.pe_id.data and not self.pe_validator.validate(self.request, form.pe_id):
valid = False
if form.task_order.number.data and not self.task_order_validator.validate(

View File

@ -111,6 +111,20 @@ def test_update_fv_invalid_task_order_number(fv_data):
update_fv.execute()
def test_draft_without_pe_id(fv_data):
request = RequestFactory.create()
user = UserFactory.create()
data = {"request-uii_ids": "1234"}
assert SaveFinancialVerificationDraft(
PENumberValidator(),
TaskOrderNumberValidator(),
user,
request,
data,
is_extended=False,
).execute()
def test_update_fv_extended(fv_data, e_fv_data):
request = RequestFactory.create()
user = UserFactory.create()
@ -403,6 +417,31 @@ def test_eda_task_order_does_trigger_approval(client, user_session, fv_data, e_f
assert updated_request.status == RequestStatus.APPROVED
def test_attachment_on_non_extended_form(client, user_session, fv_data, e_fv_data):
user = UserFactory.create()
request = RequestFactory.create(creator=user)
data = {
**fv_data,
**e_fv_data,
"task_order-number": MockEDAClient.MOCK_CONTRACT_NUMBER,
"request-pe_id": "0101228N",
}
user_session(user)
client.post(
url_for(
"requests.financial_verification", request_id=request.id, extended=True
),
data=data,
follow_redirects=True,
)
response = client.get(
url_for("requests.financial_verification", request_id=request.id)
)
assert response.status_code == 200
def test_task_order_number_persists_in_form(fv_data, e_fv_data):
user = UserFactory.create()
request = RequestFactory.create(creator=user)