feat: respect field types in join requests
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
95b666f04f
commit
6327ea00eb
2 changed files with 115 additions and 31 deletions
|
|
@ -192,7 +192,12 @@ defmodule MvWeb.JoinLiveTest do
|
|||
{:ok, view, _html} = live(conn, "/join")
|
||||
|
||||
assert has_element?(view, "#join-form")
|
||||
assert has_element?(view, "input#join-field-#{boolean_field.id}[name='#{boolean_field.id}']")
|
||||
|
||||
assert has_element?(
|
||||
view,
|
||||
"input#join-field-#{boolean_field.id}[name='#{boolean_field.id}']"
|
||||
)
|
||||
|
||||
assert has_element?(view, "input#join-field-#{boolean_field.id}[type='checkbox']")
|
||||
refute has_element?(view, "input#join-field-#{boolean_field.id}[type='text']")
|
||||
end
|
||||
|
|
@ -203,13 +208,19 @@ defmodule MvWeb.JoinLiveTest do
|
|||
{:ok, settings} = Membership.get_settings()
|
||||
|
||||
{:ok, integer_field} =
|
||||
Membership.create_custom_field(%{name: "Lucky number", value_type: :integer}, actor: system_actor)
|
||||
Membership.create_custom_field(%{name: "Lucky number", value_type: :integer},
|
||||
actor: system_actor
|
||||
)
|
||||
|
||||
{:ok, date_field} =
|
||||
Membership.create_custom_field(%{name: "Birth date", value_type: :date}, actor: system_actor)
|
||||
Membership.create_custom_field(%{name: "Birth date", value_type: :date},
|
||||
actor: system_actor
|
||||
)
|
||||
|
||||
{:ok, email_field} =
|
||||
Membership.create_custom_field(%{name: "Secondary email", value_type: :email}, actor: system_actor)
|
||||
Membership.create_custom_field(%{name: "Secondary email", value_type: :email},
|
||||
actor: system_actor
|
||||
)
|
||||
|
||||
{:ok, _} =
|
||||
Membership.update_settings(settings, %{
|
||||
|
|
@ -229,6 +240,23 @@ defmodule MvWeb.JoinLiveTest do
|
|||
assert has_element?(view, "input#join-field-#{date_field.id}[type='date']")
|
||||
assert has_element?(view, "input#join-field-#{email_field.id}[type='email']")
|
||||
end
|
||||
|
||||
@tag role: :unauthenticated
|
||||
test "renders standard date member fields with date input type", %{conn: conn} do
|
||||
{:ok, settings} = Membership.get_settings()
|
||||
|
||||
{:ok, _} =
|
||||
Membership.update_settings(settings, %{
|
||||
join_form_enabled: true,
|
||||
join_form_field_ids: ["email", "join_date"],
|
||||
join_form_field_required: %{"email" => true, "join_date" => false}
|
||||
})
|
||||
|
||||
{:ok, view, _html} = live(conn, "/join")
|
||||
|
||||
assert has_element?(view, "input#join-field-join_date[type='date']")
|
||||
refute has_element?(view, "input#join-field-join_date[type='text']")
|
||||
end
|
||||
end
|
||||
|
||||
describe "submit join form with typed custom fields" do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue