pass user settings controller test
This commit is contained in:
		| @@ -26,7 +26,8 @@ defmodule CanneryWeb.UserSettingsControllerTest do | ||||
|   end | ||||
|  | ||||
|   describe "PUT /users/settings (change password form)" do | ||||
|     test "updates the user password and resets tokens", %{conn: conn, user: user} do | ||||
|     test "updates the user password and resets tokens", | ||||
|          %{conn: conn, current_user: current_user} do | ||||
|       new_password_conn = | ||||
|         put(conn, Routes.user_settings_path(conn, :update), %{ | ||||
|           "action" => "update_password", | ||||
| @@ -43,7 +44,7 @@ defmodule CanneryWeb.UserSettingsControllerTest do | ||||
|       assert get_flash(new_password_conn, :info) =~ | ||||
|                dgettext("actions", "Password updated successfully") | ||||
|  | ||||
|       assert Accounts.get_user_by_email_and_password(user.email, "new valid password") | ||||
|       assert Accounts.get_user_by_email_and_password(current_user.email, "new valid password") | ||||
|     end | ||||
|  | ||||
|     test "does not update password on invalid data", %{conn: conn} do | ||||
| @@ -69,7 +70,7 @@ defmodule CanneryWeb.UserSettingsControllerTest do | ||||
|  | ||||
|   describe "PUT /users/settings (change email form)" do | ||||
|     @tag :capture_log | ||||
|     test "updates the user email", %{conn: conn, user: user} do | ||||
|     test "updates the user email", %{conn: conn, current_user: current_user} do | ||||
|       conn = | ||||
|         put(conn, Routes.user_settings_path(conn, :update), %{ | ||||
|           "action" => "update_email", | ||||
| @@ -85,7 +86,7 @@ defmodule CanneryWeb.UserSettingsControllerTest do | ||||
|                  "A link to confirm your email change has been sent to the new address." | ||||
|                ) | ||||
|  | ||||
|       assert Accounts.get_user_by_email(user.email) | ||||
|       assert Accounts.get_user_by_email(current_user.email) | ||||
|     end | ||||
|  | ||||
|     test "does not update email on invalid data", %{conn: conn} do | ||||
| @@ -104,22 +105,27 @@ defmodule CanneryWeb.UserSettingsControllerTest do | ||||
|   end | ||||
|  | ||||
|   describe "GET /users/settings/confirm_email/:token" do | ||||
|     setup %{user: user} do | ||||
|     setup %{current_user: current_user} do | ||||
|       email = unique_user_email() | ||||
|  | ||||
|       token = | ||||
|         extract_user_token(fn url -> | ||||
|           Accounts.deliver_update_email_instructions(%{user | email: email}, user.email, url) | ||||
|           Accounts.deliver_update_email_instructions( | ||||
|             %{current_user | email: email}, | ||||
|             current_user.email, | ||||
|             url | ||||
|           ) | ||||
|         end) | ||||
|  | ||||
|       %{token: token, email: email} | ||||
|     end | ||||
|  | ||||
|     test "updates the user email once", %{conn: conn, user: user, token: token, email: email} do | ||||
|     test "updates the user email once", | ||||
|          %{conn: conn, current_user: current_user, token: token, email: email} do | ||||
|       conn = get(conn, Routes.user_settings_path(conn, :confirm_email, token)) | ||||
|       assert redirected_to(conn) == Routes.user_settings_path(conn, :edit) | ||||
|       assert get_flash(conn, :info) =~ dgettext("prompts", "Email changed successfully") | ||||
|       refute Accounts.get_user_by_email(user.email) | ||||
|       refute Accounts.get_user_by_email(current_user.email) | ||||
|       assert Accounts.get_user_by_email(email) | ||||
|  | ||||
|       conn = get(conn, Routes.user_settings_path(conn, :confirm_email, token)) | ||||
| @@ -129,14 +135,14 @@ defmodule CanneryWeb.UserSettingsControllerTest do | ||||
|                dgettext("errors", "Email change link is invalid or it has expired") | ||||
|     end | ||||
|  | ||||
|     test "does not update email with invalid token", %{conn: conn, user: user} do | ||||
|     test "does not update email with invalid token", %{conn: conn, current_user: current_user} do | ||||
|       conn = get(conn, Routes.user_settings_path(conn, :confirm_email, "oops")) | ||||
|       assert redirected_to(conn) == Routes.user_settings_path(conn, :edit) | ||||
|  | ||||
|       assert get_flash(conn, :error) =~ | ||||
|                dgettext("errors", "Email change link is invalid or it has expired") | ||||
|  | ||||
|       assert Accounts.get_user_by_email(user.email) | ||||
|       assert Accounts.get_user_by_email(current_user.email) | ||||
|     end | ||||
|  | ||||
|     test "redirects if user is not logged in", %{token: token} do | ||||
|   | ||||
		Reference in New Issue
	
	Block a user