From 0fc01c3cc1785a0fb5bb7f34f6221af89475be75 Mon Sep 17 00:00:00 2001 From: snewcomer Date: Mon, 24 Apr 2017 08:32:20 -0700 Subject: [PATCH] ensure forgot password link is encoded correctly --- lib/code_corps/emails/forgot_password_email.ex | 4 +++- test/lib/code_corps/emails/forgot_password_email_test.exs | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/code_corps/emails/forgot_password_email.ex b/lib/code_corps/emails/forgot_password_email.ex index d811f4182..eebd1f5df 100644 --- a/lib/code_corps/emails/forgot_password_email.ex +++ b/lib/code_corps/emails/forgot_password_email.ex @@ -13,6 +13,8 @@ defmodule CodeCorps.Emails.ForgotPasswordEmail do defp template_id, do: Application.get_env(:code_corps, :postmark_forgot_password_template) defp link(token) do - "#{token}" # TODO: we can replace this with the proper string later + Application.get_env(:code_corps, :site_url) + |> URI.merge("password/reset?token=#{token}") + |> URI.to_string end end diff --git a/test/lib/code_corps/emails/forgot_password_email_test.exs b/test/lib/code_corps/emails/forgot_password_email_test.exs index 5dcf28020..602b6bb81 100644 --- a/test/lib/code_corps/emails/forgot_password_email_test.exs +++ b/test/lib/code_corps/emails/forgot_password_email_test.exs @@ -11,5 +11,7 @@ defmodule CodeCorps.Emails.ForgotPasswordEmailTest do email = ForgotPasswordEmail.create(user, token) assert email.from == "Code Corps" assert email.to == user.email + { :link, encoded_link } = email.private.template_model |> Enum.at(0) + assert "#{Application.get_env(:code_corps, :site_url)}/password/reset?token=#{token}" == encoded_link end end