From 5d6604b57b63db9c7d2d61ee14c954dc9aeaf7ea Mon Sep 17 00:00:00 2001 From: May Tusek Date: Sat, 15 Feb 2025 17:54:15 -0800 Subject: [PATCH] Updates test to use extract_user_token. --- .../reactivation_controller_test.exs | 24 ++++--------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/test/philomena_web/controllers/reactivation_controller_test.exs b/test/philomena_web/controllers/reactivation_controller_test.exs index ac220804..e7b2a63a 100644 --- a/test/philomena_web/controllers/reactivation_controller_test.exs +++ b/test/philomena_web/controllers/reactivation_controller_test.exs @@ -10,9 +10,6 @@ defmodule PhilomenaWeb.ReactivationControllerTest do %{user: deactivated_user_fixture()} end - @host PhilomenaWeb.Endpoint.config(:url)[:host] - @port PhilomenaWeb.Endpoint.config(:http)[:port] - describe "GET /reactivations/:id" do test "renders the reactivate account page", %{conn: conn} do conn = get(conn, ~p"/reactivations/pinkie-pie-is-best-pony") @@ -23,17 +20,16 @@ defmodule PhilomenaWeb.ReactivationControllerTest do describe "POST /reactivations/" do test "reactivate account page works", %{conn: conn, user: user} do - {:ok, email} = - Users.deliver_user_reactivation_instructions(user, &url(~p"/reactivations/#{&1}")) + token = + extract_user_token(fn url -> + Users.deliver_user_reactivation_instructions(user, url) + end) assert UserToken.user_and_contexts_query(user, ["reactivate"]) |> Repo.exists?() - {token, url} = extract_reactivation_link_from_email(email) - assert token != nil - assert url != nil - conn = post(conn, url, %{"token" => token}) + conn = post(conn, ~p"/reactivations", %{"token" => token}) assert redirected_to(conn) == ~p"/" user = Users.get_user!(user.id) @@ -42,14 +38,4 @@ defmodule PhilomenaWeb.ReactivationControllerTest do assert not (UserToken.user_and_contexts_query(user, ["reactivate"]) |> Repo.exists?()) end end - - defp extract_reactivation_link_from_email(email = %Swoosh.Email{}) do - %{"token" => token, "url" => url} = - Regex.named_captures( - ~r/(?http:\/\/#{@host}:#{@port}\/reactivations)\/(?.*)/, - email.text_body - ) - - {token, url} - end end