test: add another test for validation errors

fix: don't set data unless necessary
This commit is contained in:
Zach Daniel 2021-07-16 19:58:14 -04:00
parent 8378a38713
commit ea9ec350cd
2 changed files with 22 additions and 1 deletions

View file

@ -224,7 +224,6 @@ defmodule AshPhoenix.Form.Auto do
Keyword.update!(opts, :forms, fn forms ->
Keyword.put(forms, :_join,
resource: relationship.through,
data: &get_join(&1, &2, relationship),
create_action: action.name
)
end)

View file

@ -60,6 +60,28 @@ defmodule AshPhoenix.FormTest do
assert hd(inputs_for(form, :post)).errors == [{:text, {"is required", []}}]
end
test "nested errors are set on the appropriate form after submit, even if no submit actually happens" do
form =
Comment
|> Form.for_create(:create,
forms: [
post: [
resource: Post,
create_action: :create
]
]
)
|> Form.add_form(:post, params: %{})
|> Form.validate(%{"text" => "text", "post" => %{}})
|> Form.submit(Api)
|> elem(1)
|> form_for("action")
assert form.errors == []
assert hd(inputs_for(form, :post)).errors == [{:text, {"is required", []}}]
end
test "nested forms submit empty values when not present in input params" do
form =
Comment