Show errors on new task order form when fields are invalid
Form errors were not being shown because a new form instance was being created each time the `form` property was being called. Since the `validate` method on the form adds the errors to the form instance, this was causing no errors to be shown even if the form were invalid.
This commit is contained in:
parent
9883bde00c
commit
3a5c55410c
@ -108,10 +108,11 @@ class UpdateTaskOrderWorkflow(ShowTaskOrderWorkflow):
|
||||
self.task_order_id = task_order_id
|
||||
self._task_order = None
|
||||
self._section = TASK_ORDER_SECTIONS[screen - 1]
|
||||
self._form = self._section["form"](self.form_data)
|
||||
|
||||
@property
|
||||
def form(self):
|
||||
return self._section["form"](self.form_data)
|
||||
return self._form
|
||||
|
||||
@property
|
||||
def workspace(self):
|
||||
|
@ -70,6 +70,28 @@ def test_create_new_task_order(client, user_session):
|
||||
assert url_for("task_orders.new", screen=4) in response.headers["Location"]
|
||||
|
||||
|
||||
def test_task_order_form_shows_errors(client, user_session):
|
||||
creator = UserFactory.create()
|
||||
user_session(creator)
|
||||
|
||||
to = TaskOrderFactory.create()
|
||||
|
||||
task_order_data = TaskOrderFactory.dictionary()
|
||||
funding_data = slice_data_for_section(task_order_data, "funding")
|
||||
funding_data = serialize_dates(funding_data)
|
||||
funding_data.update({"clin_01": "one milllllion dollars"})
|
||||
|
||||
response = client.post(
|
||||
url_for("task_orders.update", screen=2, task_order_id=to.id),
|
||||
data=funding_data,
|
||||
follow_redirects=False,
|
||||
)
|
||||
|
||||
body = response.data.decode()
|
||||
assert "There were some errors" in body
|
||||
assert "Not a valid integer" in body
|
||||
|
||||
|
||||
def test_show_task_order():
|
||||
workflow = ShowTaskOrderWorkflow()
|
||||
assert workflow.task_order is None
|
||||
|
Loading…
x
Reference in New Issue
Block a user