diff --git a/test/cannery_web/controllers/user_auth_test.exs b/test/cannery_web/controllers/user_auth_test.exs index bbb45df..9dde8b4 100644 --- a/test/cannery_web/controllers/user_auth_test.exs +++ b/test/cannery_web/controllers/user_auth_test.exs @@ -4,6 +4,7 @@ defmodule CanneryWeb.UserAuthTest do """ use CanneryWeb.ConnCase, async: true + import CanneryWeb.Gettext alias Cannery.Accounts alias CanneryWeb.UserAuth @@ -138,7 +139,7 @@ defmodule CanneryWeb.UserAuthTest do conn = conn |> fetch_flash() |> UserAuth.require_authenticated_user([]) assert conn.halted assert redirected_to(conn) == Routes.user_session_path(conn, :new) - assert get_flash(conn, :error) == "You must log in to access this page." + assert get_flash(conn, :error) == dgettext("errors", "You must log in to access this page.") end test "stores the path to redirect to on GET", %{conn: conn} do diff --git a/test/cannery_web/controllers/user_confirmation_controller_test.exs b/test/cannery_web/controllers/user_confirmation_controller_test.exs index 49d30f9..e31ec62 100644 --- a/test/cannery_web/controllers/user_confirmation_controller_test.exs +++ b/test/cannery_web/controllers/user_confirmation_controller_test.exs @@ -31,7 +31,14 @@ defmodule CanneryWeb.UserConfirmationControllerTest do }) assert redirected_to(conn) == "/" - assert get_flash(conn, :info) =~ dgettext("prompts", "If your email is in our system") + + assert get_flash(conn, :info) =~ + dgettext( + "prompts", + "If your email is in our system and it has not been confirmed yet, " <> + "you will receive an email with instructions shortly." + ) + assert Repo.get_by!(Accounts.UserToken, user_id: user.id).context == "confirm" end @@ -44,8 +51,13 @@ defmodule CanneryWeb.UserConfirmationControllerTest do }) assert redirected_to(conn) == "/" - assert get_flash(conn, :info) =~ "If your email is in our system" - refute Repo.get_by(Accounts.UserToken, user_id: user.id) + + assert get_flash(conn, :info) =~ + dgettext( + "prompts", + "If your email is in our system and it has not been confirmed yet, " <> + "you will receive an email with instructions shortly." + ) end test "does not send confirmation token if email is invalid", %{conn: conn} do @@ -55,7 +67,14 @@ defmodule CanneryWeb.UserConfirmationControllerTest do }) assert redirected_to(conn) == "/" - assert get_flash(conn, :info) =~ dgettext("prompts", "If your email is in our system") + + assert get_flash(conn, :info) =~ + dgettext( + "prompts", + "If your email is in our system and it has not been confirmed yet, " <> + "you will receive an email with instructions shortly." + ) + assert Repo.all(Accounts.UserToken) == [] end end @@ -69,7 +88,10 @@ defmodule CanneryWeb.UserConfirmationControllerTest do conn = get(conn, Routes.user_confirmation_path(conn, :confirm, token)) assert redirected_to(conn) == "/" - assert get_flash(conn, :info) =~ dgettext("prompts", "%{email} confirmed successfully", email: user.email) + + assert get_flash(conn, :info) =~ + dgettext("prompts", "%{email} confirmed successfully", email: user.email) + assert Accounts.get_user!(user.id).confirmed_at refute get_session(conn, :user_token) assert Repo.all(Accounts.UserToken) == [] @@ -77,7 +99,9 @@ defmodule CanneryWeb.UserConfirmationControllerTest do # When not logged in conn = get(conn, Routes.user_confirmation_path(conn, :confirm, token)) assert redirected_to(conn) == "/" - assert get_flash(conn, :error) =~ dgettext("errors", "User confirmation link is invalid or it has expired") + + assert get_flash(conn, :error) =~ + dgettext("errors", "User confirmation link is invalid or it has expired") # When logged in conn = @@ -92,7 +116,10 @@ defmodule CanneryWeb.UserConfirmationControllerTest do test "does not confirm email with invalid token", %{conn: conn, user: user} do conn = get(conn, Routes.user_confirmation_path(conn, :confirm, "oops")) assert redirected_to(conn) == "/" - assert get_flash(conn, :error) =~ dgettext("errors", "User confirmation link is invalid or it has expired") + + assert get_flash(conn, :error) =~ + dgettext("errors", "User confirmation link is invalid or it has expired") + refute Accounts.get_user!(user.id).confirmed_at end end diff --git a/test/cannery_web/controllers/user_registration_controller_test.exs b/test/cannery_web/controllers/user_registration_controller_test.exs index 0ffd352..9a75847 100644 --- a/test/cannery_web/controllers/user_registration_controller_test.exs +++ b/test/cannery_web/controllers/user_registration_controller_test.exs @@ -32,7 +32,10 @@ defmodule CanneryWeb.UserRegistrationControllerTest do "user" => valid_user_attributes(email: email) }) - assert get_session(conn, :phoenix_flash) == %{"info" => dgettext("prompts", "Please check your email to verify your account")} + assert get_session(conn, :phoenix_flash) == %{ + "info" => dgettext("prompts", "Please check your email to verify your account") + } + assert redirected_to(conn) =~ "/" # Now do a logged in request and assert on the menu diff --git a/test/cannery_web/controllers/user_reset_password_controller_test.exs b/test/cannery_web/controllers/user_reset_password_controller_test.exs index c44769f..51b1cff 100644 --- a/test/cannery_web/controllers/user_reset_password_controller_test.exs +++ b/test/cannery_web/controllers/user_reset_password_controller_test.exs @@ -30,7 +30,14 @@ defmodule CanneryWeb.UserResetPasswordControllerTest do }) assert redirected_to(conn) == "/" - assert get_flash(conn, :info) =~ dgettext("prompts", "If your email is in our system") + + assert get_flash(conn, :info) =~ + dgettext( + "prompts", + "If your email is in our system and it has not been confirmed yet, " <> + "you will receive an email with instructions shortly." + ) + assert Repo.get_by!(Accounts.UserToken, user_id: user.id).context == "reset_password" end @@ -41,7 +48,14 @@ defmodule CanneryWeb.UserResetPasswordControllerTest do }) assert redirected_to(conn) == "/" - assert get_flash(conn, :info) =~ dgettext("prompts", "If your email is in our system") + + assert get_flash(conn, :info) =~ + dgettext( + "prompts", + "If your email is in our system and it has not been confirmed yet, " <> + "you will receive an email with instructions shortly." + ) + assert Repo.all(Accounts.UserToken) == [] end end diff --git a/test/cannery_web/controllers/user_settings_controller_test.exs b/test/cannery_web/controllers/user_settings_controller_test.exs index d224120..39d9b83 100644 --- a/test/cannery_web/controllers/user_settings_controller_test.exs +++ b/test/cannery_web/controllers/user_settings_controller_test.exs @@ -1,8 +1,13 @@ defmodule CanneryWeb.UserSettingsControllerTest do - use CanneryWeb.ConnCase, async: true + @moduledoc """ + Tests the user settings controller + """ + use CanneryWeb.ConnCase, async: true + import CanneryWeb.Gettext alias Cannery.Accounts - import Cannery.AccountsFixtures + + @moduletag :user_settings_controller_test setup :register_and_log_in_user @@ -10,7 +15,7 @@ defmodule CanneryWeb.UserSettingsControllerTest do test "renders settings page", %{conn: conn} do conn = get(conn, Routes.user_settings_path(conn, :edit)) response = html_response(conn, 200) - assert response =~ "