improve invites, record usage
This commit is contained in:
@ -8,14 +8,7 @@ defmodule MemexWeb.ExportControllerTest do
|
||||
|
||||
@moduletag :export_controller_test
|
||||
|
||||
setup %{conn: conn} do
|
||||
current_user = user_fixture() |> confirm_user()
|
||||
|
||||
[
|
||||
current_user: current_user,
|
||||
conn: conn |> log_in_user(current_user)
|
||||
]
|
||||
end
|
||||
setup [:register_and_log_in_user]
|
||||
|
||||
defp add_data(%{current_user: current_user}) do
|
||||
note = note_fixture(current_user)
|
||||
|
@ -33,7 +33,7 @@ defmodule MemexWeb.UserRegistrationControllerTest do
|
||||
})
|
||||
|
||||
assert get_session(conn, :phoenix_flash) == %{
|
||||
"info" => dgettext("prompts", "Please check your email to verify your account")
|
||||
"info" => dgettext("prompts", "please check your email to verify your account")
|
||||
}
|
||||
|
||||
assert redirected_to(conn) =~ "/"
|
||||
|
@ -15,7 +15,7 @@ defmodule MemexWeb.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 =~ gettext("Settings")
|
||||
assert response =~ gettext("settings")
|
||||
end
|
||||
|
||||
test "redirects if user is not logged in" do
|
||||
@ -27,7 +27,7 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
|
||||
describe "PUT /users/settings (change password form)" do
|
||||
test "updates the user password and resets tokens",
|
||||
%{conn: conn, user: user} do
|
||||
%{conn: conn, current_user: current_user} do
|
||||
new_password_conn =
|
||||
put(conn, Routes.user_settings_path(conn, :update), %{
|
||||
"action" => "update_password",
|
||||
@ -42,9 +42,9 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
assert get_session(new_password_conn, :user_token) != get_session(conn, :user_token)
|
||||
|
||||
assert get_flash(new_password_conn, :info) =~
|
||||
dgettext("actions", "Password updated successfully")
|
||||
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
|
||||
@ -70,7 +70,7 @@ defmodule MemexWeb.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",
|
||||
@ -83,10 +83,10 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
assert get_flash(conn, :info) =~
|
||||
dgettext(
|
||||
"prompts",
|
||||
"A link to confirm your email change has been sent to the new address."
|
||||
"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
|
||||
@ -105,14 +105,14 @@ defmodule MemexWeb.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,
|
||||
%{current_user | email: email},
|
||||
current_user.email,
|
||||
url
|
||||
)
|
||||
end)
|
||||
@ -121,28 +121,28 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
end
|
||||
|
||||
test "updates the user email once",
|
||||
%{conn: conn, user: user, token: token, email: email} do
|
||||
%{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)
|
||||
assert get_flash(conn, :info) =~ dgettext("prompts", "email changed successfully")
|
||||
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))
|
||||
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")
|
||||
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")
|
||||
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
|
||||
|
@ -23,8 +23,8 @@ defmodule MemexWeb.ContextLiveTest do
|
||||
"visibility" => nil
|
||||
}
|
||||
|
||||
defp create_context(%{user: user}) do
|
||||
[context: context_fixture(user)]
|
||||
defp create_context(%{current_user: current_user}) do
|
||||
[context: context_fixture(current_user)]
|
||||
end
|
||||
|
||||
describe "Index" do
|
||||
@ -148,13 +148,16 @@ defmodule MemexWeb.ContextLiveTest do
|
||||
describe "show with note" do
|
||||
setup [:register_and_log_in_user]
|
||||
|
||||
setup %{user: user} do
|
||||
%{slug: note_slug} = note = note_fixture(user)
|
||||
setup %{current_user: current_user} do
|
||||
%{slug: note_slug} = note = note_fixture(current_user)
|
||||
|
||||
[
|
||||
note: note,
|
||||
context:
|
||||
context_fixture(%{content: "example with backlink to [[#{note_slug}]] note"}, user)
|
||||
context_fixture(
|
||||
%{content: "example with backlink to [[#{note_slug}]] note"},
|
||||
current_user
|
||||
)
|
||||
]
|
||||
end
|
||||
|
||||
|
@ -6,7 +6,7 @@ defmodule MemexWeb.InviteLiveTest do
|
||||
use MemexWeb.ConnCase
|
||||
import Phoenix.LiveViewTest
|
||||
import MemexWeb.Gettext
|
||||
alias Memex.Invites
|
||||
alias Memex.Accounts.Invites
|
||||
|
||||
@moduletag :invite_live_test
|
||||
@create_attrs %{"name" => "some name"}
|
||||
@ -16,9 +16,9 @@ defmodule MemexWeb.InviteLiveTest do
|
||||
describe "Index" do
|
||||
setup [:register_and_log_in_user]
|
||||
|
||||
setup %{user: user} do
|
||||
{:ok, invite} = Invites.create_invite(user, @create_attrs)
|
||||
%{invite: invite, user: user}
|
||||
setup %{current_user: current_user} do
|
||||
{:ok, invite} = Invites.create_invite(current_user, @create_attrs)
|
||||
%{invite: invite, current_user: current_user}
|
||||
end
|
||||
|
||||
test "lists all invites", %{conn: conn, invite: invite} do
|
||||
|
@ -24,8 +24,8 @@ defmodule MemexWeb.NoteLiveTest do
|
||||
"visibility" => nil
|
||||
}
|
||||
|
||||
defp create_note(%{user: user}) do
|
||||
[note: note_fixture(user)]
|
||||
defp create_note(%{current_user: current_user}) do
|
||||
[note: note_fixture(current_user)]
|
||||
end
|
||||
|
||||
describe "Index" do
|
||||
@ -149,13 +149,13 @@ defmodule MemexWeb.NoteLiveTest do
|
||||
describe "show with note" do
|
||||
setup [:register_and_log_in_user]
|
||||
|
||||
setup %{user: user} do
|
||||
%{slug: note_slug} = note = note_fixture(user)
|
||||
setup %{current_user: current_user} do
|
||||
%{slug: note_slug} = note = note_fixture(current_user)
|
||||
|
||||
[
|
||||
note: note,
|
||||
backlinked_note:
|
||||
note_fixture(%{content: "example with backlink to [[#{note_slug}]] note"}, user)
|
||||
note_fixture(%{content: "example with backlink to [[#{note_slug}]] note"}, current_user)
|
||||
]
|
||||
end
|
||||
|
||||
|
@ -34,8 +34,8 @@ defmodule MemexWeb.PipelineLiveTest do
|
||||
"title" => nil
|
||||
}
|
||||
|
||||
defp create_pipeline(%{user: user}) do
|
||||
[pipeline: pipeline_fixture(user)]
|
||||
defp create_pipeline(%{current_user: current_user}) do
|
||||
[pipeline: pipeline_fixture(current_user)]
|
||||
end
|
||||
|
||||
describe "Index" do
|
||||
@ -181,9 +181,9 @@ defmodule MemexWeb.PipelineLiveTest do
|
||||
describe "show with a step" do
|
||||
setup [:register_and_log_in_user, :create_pipeline]
|
||||
|
||||
setup %{pipeline: pipeline, user: user} do
|
||||
setup %{pipeline: pipeline, current_user: current_user} do
|
||||
[
|
||||
step: step_fixture(0, pipeline, user)
|
||||
step: step_fixture(0, pipeline, current_user)
|
||||
]
|
||||
end
|
||||
|
||||
@ -236,11 +236,11 @@ defmodule MemexWeb.PipelineLiveTest do
|
||||
describe "show with multiple steps" do
|
||||
setup [:register_and_log_in_user, :create_pipeline]
|
||||
|
||||
setup %{pipeline: pipeline, user: user} do
|
||||
setup %{pipeline: pipeline, current_user: current_user} do
|
||||
[
|
||||
first_step: step_fixture(%{title: "first step"}, 0, pipeline, user),
|
||||
second_step: step_fixture(%{title: "second step"}, 1, pipeline, user),
|
||||
third_step: step_fixture(%{title: "third step"}, 2, pipeline, user)
|
||||
first_step: step_fixture(%{title: "first step"}, 0, pipeline, current_user),
|
||||
second_step: step_fixture(%{title: "second step"}, 1, pipeline, current_user),
|
||||
third_step: step_fixture(%{title: "third step"}, 2, pipeline, current_user)
|
||||
]
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user