Skip to content

Commit a34caba

Browse files
committed
failing test: expect errors for polymorphic inputs
1 parent 2fcfcbe commit a34caba

1 file changed

Lines changed: 41 additions & 14 deletions

File tree

test/polymorphic_embed_test.exs

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2770,15 +2770,26 @@ defmodule PolymorphicEmbedTest do
27702770
for generator <- @generators do
27712771
reminder_module = get_module(Reminder, generator)
27722772

2773-
attrs = %{
2774-
date: ~U[2020-05-28 02:57:19Z],
2775-
text: "This is an Email reminder",
2776-
channel: %{
2777-
address: "a",
2778-
valid: true,
2779-
confirmed: true
2780-
}
2781-
}
2773+
attrs =
2774+
if polymorphic?(generator) do
2775+
%{
2776+
date: ~U[2020-05-28 02:57:19Z],
2777+
text: "This is an Email reminder",
2778+
channel: %{
2779+
address: "a",
2780+
valid: true,
2781+
confirmed: true
2782+
}
2783+
}
2784+
else
2785+
%{
2786+
number: ~U[2020-05-28 02:57:19Z],
2787+
text: "This is a non polymorphic reminder",
2788+
channel: %{
2789+
number: "a"
2790+
}
2791+
}
2792+
end
27822793

27832794
changeset =
27842795
struct(reminder_module)
@@ -2787,8 +2798,19 @@ defmodule PolymorphicEmbedTest do
27872798
contents =
27882799
safe_inputs_for(changeset, :channel, generator, fn f ->
27892800
assert f.impl == Phoenix.HTML.FormData.Ecto.Changeset
2790-
assert f.errors == []
2791-
text_input(f, :address)
2801+
2802+
if polymorphic?(generator) do
2803+
assert f.errors == [
2804+
{:address,
2805+
{"should be at least %{count} character(s)",
2806+
[count: 3, validation: :length, kind: :min, type: :string]}}
2807+
]
2808+
2809+
text_input(f, :address)
2810+
else
2811+
assert f.errors == []
2812+
text_input(f, :number)
2813+
end
27922814
end)
27932815

27942816
expected_contents =
@@ -2798,7 +2820,7 @@ defmodule PolymorphicEmbedTest do
27982820
<input id="reminder_channel_address" name="reminder[channel][address]" type="text" value="a">
27992821
""",
28002822
else: ~s"""
2801-
<input id="reminder_channel_address" name="reminder[channel][address]" type="text" value="a">
2823+
<input id="reminder_channel_number" name="reminder[channel][number]" type="text" value="a">
28022824
"""
28032825
)
28042826

@@ -2811,7 +2833,12 @@ defmodule PolymorphicEmbedTest do
28112833
generator,
28122834
fn f ->
28132835
assert f.impl == Phoenix.HTML.FormData.Ecto.Changeset
2814-
text_input(f, :address)
2836+
2837+
if polymorphic?(generator) do
2838+
text_input(f, :address)
2839+
else
2840+
text_input(f, :number)
2841+
end
28152842
end
28162843
)
28172844

@@ -2822,7 +2849,7 @@ defmodule PolymorphicEmbedTest do
28222849
<input id="reminder_channel_address" name="reminder[channel][address]" type="text" value="a">
28232850
""",
28242851
else: ~s"""
2825-
<input id="reminder_channel_address" name="reminder[channel][address]" type="text" value="a">
2852+
<input id="reminder_channel_number" name="reminder[channel][number]" type="text" value="a">
28262853
"""
28272854
)
28282855

0 commit comments

Comments
 (0)