diff --git a/test/philomena_web/controllers/deactivation_controller_test.exs b/test/philomena_web/controllers/deactivation_controller_test.exs index cd66d256..2fc017c3 100644 --- a/test/philomena_web/controllers/deactivation_controller_test.exs +++ b/test/philomena_web/controllers/deactivation_controller_test.exs @@ -1,9 +1,6 @@ defmodule PhilomenaWeb.DeactivationControllerTest do - import Philomena.TestUtilities + use PhilomenaWeb.ConnCase - use PhilomenaWeb.ConnCase, async: true - - alias Swoosh.Adapters.Local.Storage.Memory alias Philomena.Users setup :register_and_log_in_user @@ -23,13 +20,8 @@ defmodule PhilomenaWeb.DeactivationControllerTest do conn = get(conn, ~p"/registrations/edit") assert redirected_to(conn) == ~p"/sessions/new" - assert Memory.all() - |> Enum.find(&(&1.subject == "Reactivation instructions for your account")) != nil - - assert_retry(fn -> - user = Users.get_user!(user.id) - user.deleted_by_user_id == user.id - end) + user = Users.get_user!(user.id) + assert user.deleted_by_user_id == user.id end end end diff --git a/test/philomena_web/controllers/reactivation_controller_test.exs b/test/philomena_web/controllers/reactivation_controller_test.exs index 9258d683..9f8b2c28 100644 --- a/test/philomena_web/controllers/reactivation_controller_test.exs +++ b/test/philomena_web/controllers/reactivation_controller_test.exs @@ -1,8 +1,6 @@ defmodule PhilomenaWeb.ReactivationControllerTest do use PhilomenaWeb.ConnCase, async: true - import Philomena.TestUtilities - alias Swoosh.Adapters.Local.Storage.Memory alias Philomena.Users setup :register_and_log_in_user @@ -23,10 +21,8 @@ defmodule PhilomenaWeb.ReactivationControllerTest do test "reactivate account page works", %{conn: conn, user: user} do conn = delete(conn, ~p"/deactivations") - {token, url} = - Memory.all() - |> Enum.find(&(&1.subject == "Reactivation instructions for your account")) - |> extract_reactivation_link_from_email() + {:ok, email} = Users.deliver_user_reactivation_instructions(user, &url(~p"/reactivations/#{&1}")) + {token, url} = extract_reactivation_link_from_email(email) assert token != nil assert url != nil @@ -34,10 +30,8 @@ defmodule PhilomenaWeb.ReactivationControllerTest do conn = post(conn, url, %{"token" => token}) assert redirected_to(conn) == ~p"/" - assert_retry(fn -> - user = Users.get_user!(user.id) - user.deleted_by_user_id == nil - end) + user = Users.get_user!(user.id) + assert user.deleted_by_user_id == nil end end diff --git a/test/support/utilities.ex b/test/support/utilities.ex deleted file mode 100644 index 0e562620..00000000 --- a/test/support/utilities.ex +++ /dev/null @@ -1,28 +0,0 @@ -import ExUnit.Assertions - -defmodule Philomena.TestUtilities do - defp assert_retry(_, attempts, max_retries, _) when attempts > max_retries, do: false - - defp assert_retry(evalulation_lambda, attempts, max_retries, timeout_in_ms) do - case evalulation_lambda.() do - true -> - true - - false -> - Process.sleep(timeout_in_ms) - assert_retry(evalulation_lambda, attempts + 1, max_retries, timeout_in_ms) - end - end - - @doc """ - Asserts the result of a lambda after at most max_retries times for a truthy value. - - ## Examples - iex> assert_retry(&(false)) - Expected truthy, got false - """ - def assert_retry(evaluation_lambda, max_retries \\ 3, timeout_in_ms \\ 1000) - when is_function(evaluation_lambda) do - assert assert_retry(evaluation_lambda, 0, max_retries, timeout_in_ms) - end -end