mirror of
https://github.com/ash-project/ash_phoenix.git
synced 2024-09-19 23:02:48 +12:00
test: add another test for validation errors
fix: don't set data unless necessary
This commit is contained in:
parent
8378a38713
commit
ea9ec350cd
2 changed files with 22 additions and 1 deletions
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue