manually set list/SelectMultipleField data for task order AppInfoForm

This commit is contained in:
dandds 2019-01-09 11:37:05 -05:00
parent e83b57f8b2
commit 3fae563d35
2 changed files with 22 additions and 15 deletions

View File

@ -61,14 +61,6 @@ class ShowTaskOrderWorkflow:
return self._task_order return self._task_order
@property
def task_order_formdata(self):
task_order_dict = self.task_order.to_dictionary()
for field in task_order_dict:
if task_order_dict[field] is None:
task_order_dict[field] = ""
return task_order_dict
@property @property
def form(self): def form(self):
form_type = ( form_type = (
@ -80,7 +72,11 @@ class ShowTaskOrderWorkflow:
if self._form: if self._form:
pass pass
elif self.task_order: elif self.task_order:
self._form = self._section[form_type](formdata=self.task_order_formdata) self._form = self._section[form_type](obj=self.task_order)
# manually set SelectMultipleFields
if self._section["section"] == "app_info":
self._form.complexity.data = self.task_order.complexity
self._form.dev_team.data = self.task_order.dev_team
else: else:
self._form = self._section[form_type]() self._form = self._section[form_type]()

View File

@ -100,14 +100,12 @@ def test_show_task_order():
assert another_workflow.task_order == task_order assert another_workflow.task_order == task_order
def test_show_task_order_formdata(): def test_show_task_order_form_list_data():
task_order = TaskOrderFactory.create() complexity = ["oconus", "tactical_edge"]
task_order = TaskOrderFactory.create(complexity=complexity)
workflow = ShowTaskOrderWorkflow(task_order_id=task_order.id) workflow = ShowTaskOrderWorkflow(task_order_id=task_order.id)
assert workflow.task_order.to_dictionary()["user_id"] is None assert workflow.form.complexity.data == complexity
assert workflow.task_order_formdata["user_id"] is ""
for field in workflow.task_order_formdata:
assert not field is None
def test_show_task_order_form(): def test_show_task_order_form():
@ -220,3 +218,16 @@ def test_update_does_not_resend_invitation():
for i in range(2): for i in range(2):
workflow.update() workflow.update()
assert len(contracting_officer.invitations) == 1 assert len(contracting_officer.invitations) == 1
def test_review_task_order_form(client, user_session):
creator = UserFactory.create()
user_session(creator)
task_order = TaskOrderFactory.create(creator=creator)
for idx, section in enumerate(TaskOrders.SECTIONS):
response = client.get(
url_for("task_orders.new", screen=idx + 1, task_order_id=task_order.id)
)
assert response.status_code == 200