66 lines
2.3 KiB
Elixir
66 lines
2.3 KiB
Elixir
defmodule MvWeb.MemberLive.IndexTest do
|
|
use MvWeb.ConnCase, async: true
|
|
import Phoenix.LiveViewTest
|
|
|
|
test "shows translated title in German", %{conn: conn} do
|
|
conn = conn_with_oidc_user(conn)
|
|
conn = Plug.Test.init_test_session(conn, locale: "de")
|
|
{:ok, _view, html} = live(conn, "/members")
|
|
# Expected German title
|
|
assert html =~ "Mitglieder"
|
|
end
|
|
|
|
test "shows translated title in English", %{conn: conn} do
|
|
conn = conn_with_oidc_user(conn)
|
|
Gettext.put_locale(MvWeb.Gettext, "en")
|
|
{:ok, _view, html} = live(conn, "/members")
|
|
# Expected English title
|
|
assert html =~ "Members"
|
|
end
|
|
|
|
test "shows translated button text in German", %{conn: conn} do
|
|
conn = conn_with_oidc_user(conn)
|
|
conn = Plug.Test.init_test_session(conn, locale: "de")
|
|
{:ok, _view, html} = live(conn, "/members/new")
|
|
assert html =~ "Speichern"
|
|
end
|
|
|
|
test "shows translated button text in English", %{conn: conn} do
|
|
conn = conn_with_oidc_user(conn)
|
|
Gettext.put_locale(MvWeb.Gettext, "en")
|
|
{:ok, _view, html} = live(conn, "/members/new")
|
|
assert html =~ "Save"
|
|
end
|
|
|
|
test "shows translated flash message after creating a member in German", %{conn: conn} do
|
|
conn = conn_with_oidc_user(conn)
|
|
conn = Plug.Test.init_test_session(conn, locale: "de")
|
|
{:ok, view, _html} = live(conn, "/members")
|
|
view |> element("a", "Neues Mitglied") |> render_click()
|
|
|
|
form_data = %{
|
|
"member[first_name]" => "Max",
|
|
"member[last_name]" => "Mustermann",
|
|
"member[email]" => "max@example.com"
|
|
}
|
|
|
|
view |> form("#member-form", form_data) |> render_submit()
|
|
assert has_element?(view, "#flash-group", "Mitglied erstellt erfolgreich")
|
|
end
|
|
|
|
test "shows translated flash message after creating a member in English", %{conn: conn} do
|
|
conn = conn_with_oidc_user(conn)
|
|
conn = Plug.Test.init_test_session(conn, locale: "en")
|
|
{:ok, view, _html} = live(conn, "/members")
|
|
view |> element("a", "New Member") |> render_click()
|
|
|
|
form_data = %{
|
|
"member[first_name]" => "Max",
|
|
"member[last_name]" => "Mustermann",
|
|
"member[email]" => "max@example.com"
|
|
}
|
|
|
|
view |> form("#member-form", form_data) |> render_submit()
|
|
assert has_element?(view, "#flash-group", "Member create successfully")
|
|
end
|
|
end
|