Change user.confirmation_pending field to user.is_confirmed
This commit is contained in:
parent
cf367fdbd5
commit
d36182c088
29 changed files with 121 additions and 101 deletions
|
@ -34,7 +34,7 @@ def run(["resend_confirmation_emails"]) do
|
||||||
Pleroma.User.Query.build(%{
|
Pleroma.User.Query.build(%{
|
||||||
local: true,
|
local: true,
|
||||||
deactivated: false,
|
deactivated: false,
|
||||||
confirmation_pending: true,
|
is_confirmed: false,
|
||||||
invisible: false
|
invisible: false
|
||||||
})
|
})
|
||||||
|> Pleroma.Repo.chunk_stream(500)
|
|> Pleroma.Repo.chunk_stream(500)
|
||||||
|
|
|
@ -74,7 +74,7 @@ def run(["new", nickname, email | rest]) do
|
||||||
bio: bio
|
bio: bio
|
||||||
}
|
}
|
||||||
|
|
||||||
changeset = User.register_changeset(%User{}, params, need_confirmation: false)
|
changeset = User.register_changeset(%User{}, params, is_confirmed: true)
|
||||||
{:ok, _user} = User.register(changeset)
|
{:ok, _user} = User.register(changeset)
|
||||||
|
|
||||||
shell_info("User #{nickname} created")
|
shell_info("User #{nickname} created")
|
||||||
|
@ -351,7 +351,7 @@ def run(["confirm", nickname]) do
|
||||||
with %User{} = user <- User.get_cached_by_nickname(nickname) do
|
with %User{} = user <- User.get_cached_by_nickname(nickname) do
|
||||||
{:ok, user} = User.confirm(user)
|
{:ok, user} = User.confirm(user)
|
||||||
|
|
||||||
message = if user.confirmation_pending, do: "needs", else: "doesn't need"
|
message = if !user.is_confirmed, do: "needs", else: "doesn't need"
|
||||||
|
|
||||||
shell_info("#{nickname} #{message} confirmation.")
|
shell_info("#{nickname} #{message} confirmation.")
|
||||||
else
|
else
|
||||||
|
@ -457,7 +457,7 @@ defp set_locked(user, value) do
|
||||||
defp set_confirmed(user, value) do
|
defp set_confirmed(user, value) do
|
||||||
{:ok, user} = User.need_confirmation(user, !value)
|
{:ok, user} = User.need_confirmation(user, !value)
|
||||||
|
|
||||||
shell_info("Confirmation pending status of #{user.nickname}: #{user.confirmation_pending}")
|
shell_info("Confirmation status of #{user.nickname}: #{user.is_confirmed}")
|
||||||
user
|
user
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -110,7 +110,7 @@ defmodule Pleroma.User do
|
||||||
field(:follower_count, :integer, default: 0)
|
field(:follower_count, :integer, default: 0)
|
||||||
field(:following_count, :integer, default: 0)
|
field(:following_count, :integer, default: 0)
|
||||||
field(:is_locked, :boolean, default: false)
|
field(:is_locked, :boolean, default: false)
|
||||||
field(:confirmation_pending, :boolean, default: false)
|
field(:is_confirmed, :boolean, default: true)
|
||||||
field(:password_reset_pending, :boolean, default: false)
|
field(:password_reset_pending, :boolean, default: false)
|
||||||
field(:approval_pending, :boolean, default: false)
|
field(:approval_pending, :boolean, default: false)
|
||||||
field(:registration_reason, :string, default: nil)
|
field(:registration_reason, :string, default: nil)
|
||||||
|
@ -290,7 +290,7 @@ def account_status(%User{deactivated: true}), do: :deactivated
|
||||||
def account_status(%User{password_reset_pending: true}), do: :password_reset_pending
|
def account_status(%User{password_reset_pending: true}), do: :password_reset_pending
|
||||||
def account_status(%User{local: true, approval_pending: true}), do: :approval_pending
|
def account_status(%User{local: true, approval_pending: true}), do: :approval_pending
|
||||||
|
|
||||||
def account_status(%User{local: true, confirmation_pending: true}) do
|
def account_status(%User{local: true, is_confirmed: false}) do
|
||||||
if Config.get([:instance, :account_activation_required]) do
|
if Config.get([:instance, :account_activation_required]) do
|
||||||
:confirmation_pending
|
:confirmation_pending
|
||||||
else
|
else
|
||||||
|
@ -808,7 +808,7 @@ def register(%Ecto.Changeset{} = changeset) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def post_register_action(%User{confirmation_pending: true} = user) do
|
def post_register_action(%User{is_confirmed: false} = user) do
|
||||||
with {:ok, _} <- try_send_confirmation_email(user) do
|
with {:ok, _} <- try_send_confirmation_email(user) do
|
||||||
{:ok, user}
|
{:ok, user}
|
||||||
end
|
end
|
||||||
|
@ -821,7 +821,7 @@ def post_register_action(%User{approval_pending: true} = user) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def post_register_action(%User{approval_pending: false, confirmation_pending: false} = user) do
|
def post_register_action(%User{approval_pending: false, is_confirmed: true} = user) do
|
||||||
with {:ok, user} <- autofollow_users(user),
|
with {:ok, user} <- autofollow_users(user),
|
||||||
{:ok, _} <- autofollowing_users(user),
|
{:ok, _} <- autofollowing_users(user),
|
||||||
{:ok, user} <- set_cache(user),
|
{:ok, user} <- set_cache(user),
|
||||||
|
@ -882,7 +882,7 @@ def send_welcome_email(%User{email: email} = user) when is_binary(email) do
|
||||||
def send_welcome_email(_), do: {:ok, :noop}
|
def send_welcome_email(_), do: {:ok, :noop}
|
||||||
|
|
||||||
@spec try_send_confirmation_email(User.t()) :: {:ok, :enqueued | :noop}
|
@spec try_send_confirmation_email(User.t()) :: {:ok, :enqueued | :noop}
|
||||||
def try_send_confirmation_email(%User{confirmation_pending: true, email: email} = user)
|
def try_send_confirmation_email(%User{is_confirmed: false, email: email} = user)
|
||||||
when is_binary(email) do
|
when is_binary(email) do
|
||||||
if Config.get([:instance, :account_activation_required]) do
|
if Config.get([:instance, :account_activation_required]) do
|
||||||
send_confirmation_email(user)
|
send_confirmation_email(user)
|
||||||
|
@ -1642,7 +1642,7 @@ def confirm(users) when is_list(users) do
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
def confirm(%User{confirmation_pending: true} = user) do
|
def confirm(%User{is_confirmed: false} = user) do
|
||||||
with chg <- confirmation_changeset(user, need_confirmation: false),
|
with chg <- confirmation_changeset(user, need_confirmation: false),
|
||||||
{:ok, user} <- update_and_set_cache(chg) do
|
{:ok, user} <- update_and_set_cache(chg) do
|
||||||
post_register_action(user)
|
post_register_action(user)
|
||||||
|
@ -1682,7 +1682,7 @@ def purge_user_changeset(user) do
|
||||||
follower_count: 0,
|
follower_count: 0,
|
||||||
following_count: 0,
|
following_count: 0,
|
||||||
is_locked: false,
|
is_locked: false,
|
||||||
confirmation_pending: false,
|
is_confirmed: true,
|
||||||
password_reset_pending: false,
|
password_reset_pending: false,
|
||||||
approval_pending: false,
|
approval_pending: false,
|
||||||
registration_reason: nil,
|
registration_reason: nil,
|
||||||
|
@ -2313,17 +2313,17 @@ def confirmation_changeset(user, need_confirmation: need_confirmation?) do
|
||||||
params =
|
params =
|
||||||
if need_confirmation? do
|
if need_confirmation? do
|
||||||
%{
|
%{
|
||||||
confirmation_pending: true,
|
is_confirmed: false,
|
||||||
confirmation_token: :crypto.strong_rand_bytes(32) |> Base.url_encode64()
|
confirmation_token: :crypto.strong_rand_bytes(32) |> Base.url_encode64()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
%{
|
%{
|
||||||
confirmation_pending: false,
|
is_confirmed: true,
|
||||||
confirmation_token: nil
|
confirmation_token: nil
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
cast(user, params, [:confirmation_pending, :confirmation_token])
|
cast(user, params, [:is_confirmed, :confirmation_token])
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec approval_changeset(User.t(), keyword()) :: Changeset.t()
|
@spec approval_changeset(User.t(), keyword()) :: Changeset.t()
|
||||||
|
|
|
@ -155,7 +155,7 @@ defp compose_query({:deactivated, true}, query) do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp compose_query({:confirmation_pending, bool}, query) do
|
defp compose_query({:confirmation_pending, bool}, query) do
|
||||||
where(query, [u], u.confirmation_pending == ^bool)
|
where(query, [u], u.is_confirmed != ^bool)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp compose_query({:need_approval, _}, query) do
|
defp compose_query({:need_approval, _}, query) do
|
||||||
|
@ -163,7 +163,7 @@ defp compose_query({:need_approval, _}, query) do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp compose_query({:unconfirmed, _}, query) do
|
defp compose_query({:unconfirmed, _}, query) do
|
||||||
where(query, [u], u.confirmation_pending)
|
where(query, [u], u.is_confirmed == false)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp compose_query({:followers, %User{id: id}}, query) do
|
defp compose_query({:followers, %User{id: id}}, query) do
|
||||||
|
|
|
@ -77,7 +77,7 @@ def render("show.json", %{user: user}) do
|
||||||
"local" => user.local,
|
"local" => user.local,
|
||||||
"roles" => User.roles(user),
|
"roles" => User.roles(user),
|
||||||
"tags" => user.tags || [],
|
"tags" => user.tags || [],
|
||||||
"confirmation_pending" => user.confirmation_pending,
|
"is_confirmed" => user.is_confirmed,
|
||||||
"approval_pending" => user.approval_pending,
|
"approval_pending" => user.approval_pending,
|
||||||
"url" => user.uri || user.ap_id,
|
"url" => user.uri || user.ap_id,
|
||||||
"registration_reason" => user.registration_reason,
|
"registration_reason" => user.registration_reason,
|
||||||
|
|
|
@ -191,7 +191,7 @@ defp account_admin do
|
||||||
moderator: %Schema{type: :boolean}
|
moderator: %Schema{type: :boolean}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
confirmation_pending: %Schema{type: :boolean}
|
is_confirmed: %Schema{type: :boolean}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
@ -142,7 +142,7 @@ def admin_account do
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tags: %Schema{type: :string},
|
tags: %Schema{type: :string},
|
||||||
confirmation_pending: %Schema{type: :string}
|
is_confirmed: %Schema{type: :string}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
@ -236,7 +236,7 @@ def chats_response do
|
||||||
"account" => %{
|
"account" => %{
|
||||||
"pleroma" => %{
|
"pleroma" => %{
|
||||||
"is_admin" => false,
|
"is_admin" => false,
|
||||||
"confirmation_pending" => false,
|
"is_confirmed" => true,
|
||||||
"hide_followers_count" => false,
|
"hide_followers_count" => false,
|
||||||
"is_moderator" => false,
|
"is_moderator" => false,
|
||||||
"hide_favorites" => true,
|
"hide_favorites" => true,
|
||||||
|
|
|
@ -48,7 +48,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
|
||||||
},
|
},
|
||||||
background_image: %Schema{type: :string, nullable: true, format: :uri},
|
background_image: %Schema{type: :string, nullable: true, format: :uri},
|
||||||
chat_token: %Schema{type: :string},
|
chat_token: %Schema{type: :string},
|
||||||
confirmation_pending: %Schema{
|
is_confirmed: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
description:
|
description:
|
||||||
"whether the user account is waiting on email confirmation to be activated"
|
"whether the user account is waiting on email confirmation to be activated"
|
||||||
|
@ -166,7 +166,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
|
||||||
"pleroma" => %{
|
"pleroma" => %{
|
||||||
"allow_following_move" => true,
|
"allow_following_move" => true,
|
||||||
"background_image" => nil,
|
"background_image" => nil,
|
||||||
"confirmation_pending" => true,
|
"is_confirmed" => false,
|
||||||
"hide_favorites" => true,
|
"hide_favorites" => true,
|
||||||
"hide_followers" => false,
|
"hide_followers" => false,
|
||||||
"hide_followers_count" => false,
|
"hide_followers_count" => false,
|
||||||
|
|
|
@ -23,7 +23,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Chat do
|
||||||
"account" => %{
|
"account" => %{
|
||||||
"pleroma" => %{
|
"pleroma" => %{
|
||||||
"is_admin" => false,
|
"is_admin" => false,
|
||||||
"confirmation_pending" => false,
|
"is_confirmed" => true,
|
||||||
"hide_followers_count" => false,
|
"hide_followers_count" => false,
|
||||||
"is_moderator" => false,
|
"is_moderator" => false,
|
||||||
"hide_favorites" => true,
|
"hide_favorites" => true,
|
||||||
|
|
|
@ -256,7 +256,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do
|
||||||
"note" => "Tester Number 6",
|
"note" => "Tester Number 6",
|
||||||
"pleroma" => %{
|
"pleroma" => %{
|
||||||
"background_image" => nil,
|
"background_image" => nil,
|
||||||
"confirmation_pending" => false,
|
"is_confirmed" => true,
|
||||||
"hide_favorites" => true,
|
"hide_favorites" => true,
|
||||||
"hide_followers" => false,
|
"hide_followers" => false,
|
||||||
"hide_followers_count" => false,
|
"hide_followers_count" => false,
|
||||||
|
|
|
@ -266,7 +266,7 @@ defp do_render("show.json", %{user: user} = opts) do
|
||||||
pleroma: %{
|
pleroma: %{
|
||||||
ap_id: user.ap_id,
|
ap_id: user.ap_id,
|
||||||
also_known_as: user.also_known_as,
|
also_known_as: user.also_known_as,
|
||||||
confirmation_pending: user.confirmation_pending,
|
is_confirmed: user.is_confirmed,
|
||||||
tags: user.tags,
|
tags: user.tags,
|
||||||
hide_followers_count: user.hide_followers_count,
|
hide_followers_count: user.hide_followers_count,
|
||||||
hide_follows_count: user.hide_follows_count,
|
hide_follows_count: user.hide_follows_count,
|
||||||
|
|
|
@ -30,7 +30,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
|
||||||
|
|
||||||
def confirm_email(conn, %{"user_id" => uid, "token" => token}) do
|
def confirm_email(conn, %{"user_id" => uid, "token" => token}) do
|
||||||
with %User{} = user <- User.get_cached_by_id(uid),
|
with %User{} = user <- User.get_cached_by_id(uid),
|
||||||
true <- user.local and user.confirmation_pending and user.confirmation_token == token,
|
true <- user.local and !user.is_confirmed and user.confirmation_token == token,
|
||||||
{:ok, _} <- User.confirm(user) do
|
{:ok, _} <- User.confirm(user) do
|
||||||
redirect(conn, to: "/")
|
redirect(conn, to: "/")
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Pleroma: A lightweight social networking server
|
||||||
|
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
|
defmodule Pleroma.Repo.Migrations.RefactorConfirmationPendingUserField do
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
|
def up do
|
||||||
|
# Flip the values before we change the meaning of the column
|
||||||
|
execute("UPDATE users SET confirmation_pending = NOT confirmation_pending;")
|
||||||
|
execute("ALTER TABLE users RENAME COLUMN confirmation_pending TO is_confirmed;")
|
||||||
|
execute("ALTER TABLE users ALTER COLUMN is_confirmed SET DEFAULT true;")
|
||||||
|
end
|
||||||
|
|
||||||
|
def down do
|
||||||
|
execute("UPDATE users SET is_confirmed = NOT is_confirmed;")
|
||||||
|
execute("ALTER TABLE users RENAME COLUMN is_confirmed TO confirmation_pending;")
|
||||||
|
execute("ALTER TABLE users ALTER COLUMN confirmation_pending SET DEFAULT false;")
|
||||||
|
end
|
||||||
|
end
|
|
@ -61,7 +61,7 @@ test "Sends test email with given address" do
|
||||||
test "Sends confirmation emails" do
|
test "Sends confirmation emails" do
|
||||||
local_user1 =
|
local_user1 =
|
||||||
insert(:user, %{
|
insert(:user, %{
|
||||||
confirmation_pending: true,
|
is_confirmed: false,
|
||||||
confirmation_token: "mytoken",
|
confirmation_token: "mytoken",
|
||||||
deactivated: false,
|
deactivated: false,
|
||||||
email: "local1@pleroma.com",
|
email: "local1@pleroma.com",
|
||||||
|
@ -70,7 +70,7 @@ test "Sends confirmation emails" do
|
||||||
|
|
||||||
local_user2 =
|
local_user2 =
|
||||||
insert(:user, %{
|
insert(:user, %{
|
||||||
confirmation_pending: true,
|
is_confirmed: false,
|
||||||
confirmation_token: "mytoken",
|
confirmation_token: "mytoken",
|
||||||
deactivated: false,
|
deactivated: false,
|
||||||
email: "local2@pleroma.com",
|
email: "local2@pleroma.com",
|
||||||
|
@ -88,7 +88,7 @@ test "Sends confirmation emails" do
|
||||||
test "Does not send confirmation email to inappropriate users" do
|
test "Does not send confirmation email to inappropriate users" do
|
||||||
# confirmed user
|
# confirmed user
|
||||||
insert(:user, %{
|
insert(:user, %{
|
||||||
confirmation_pending: false,
|
is_confirmed: true,
|
||||||
confirmation_token: "mytoken",
|
confirmation_token: "mytoken",
|
||||||
deactivated: false,
|
deactivated: false,
|
||||||
email: "confirmed@pleroma.com",
|
email: "confirmed@pleroma.com",
|
||||||
|
|
|
@ -238,7 +238,7 @@ test "All statuses set" do
|
||||||
assert message =~ ~r/Admin status .* true/
|
assert message =~ ~r/Admin status .* true/
|
||||||
|
|
||||||
assert_received {:mix_shell, :info, [message]}
|
assert_received {:mix_shell, :info, [message]}
|
||||||
assert message =~ ~r/Confirmation pending .* false/
|
assert message =~ ~r/Confirmation status.* true/
|
||||||
|
|
||||||
assert_received {:mix_shell, :info, [message]}
|
assert_received {:mix_shell, :info, [message]}
|
||||||
assert message =~ ~r/Locked status .* true/
|
assert message =~ ~r/Locked status .* true/
|
||||||
|
@ -250,7 +250,7 @@ test "All statuses set" do
|
||||||
assert user.is_moderator
|
assert user.is_moderator
|
||||||
assert user.is_locked
|
assert user.is_locked
|
||||||
assert user.is_admin
|
assert user.is_admin
|
||||||
refute user.confirmation_pending
|
assert user.is_confirmed
|
||||||
end
|
end
|
||||||
|
|
||||||
test "All statuses unset" do
|
test "All statuses unset" do
|
||||||
|
@ -259,7 +259,7 @@ test "All statuses unset" do
|
||||||
is_locked: true,
|
is_locked: true,
|
||||||
is_moderator: true,
|
is_moderator: true,
|
||||||
is_admin: true,
|
is_admin: true,
|
||||||
confirmation_pending: true
|
is_confirmed: false
|
||||||
)
|
)
|
||||||
|
|
||||||
Mix.Tasks.Pleroma.User.run([
|
Mix.Tasks.Pleroma.User.run([
|
||||||
|
@ -275,7 +275,7 @@ test "All statuses unset" do
|
||||||
assert message =~ ~r/Admin status .* false/
|
assert message =~ ~r/Admin status .* false/
|
||||||
|
|
||||||
assert_received {:mix_shell, :info, [message]}
|
assert_received {:mix_shell, :info, [message]}
|
||||||
assert message =~ ~r/Confirmation pending .* true/
|
assert message =~ ~r/Confirmation status.* false/
|
||||||
|
|
||||||
assert_received {:mix_shell, :info, [message]}
|
assert_received {:mix_shell, :info, [message]}
|
||||||
assert message =~ ~r/Locked status .* false/
|
assert message =~ ~r/Locked status .* false/
|
||||||
|
@ -287,7 +287,7 @@ test "All statuses unset" do
|
||||||
refute user.is_moderator
|
refute user.is_moderator
|
||||||
refute user.is_locked
|
refute user.is_locked
|
||||||
refute user.is_admin
|
refute user.is_admin
|
||||||
assert user.confirmation_pending
|
refute user.is_confirmed
|
||||||
end
|
end
|
||||||
|
|
||||||
test "no user to set status" do
|
test "no user to set status" do
|
||||||
|
@ -464,27 +464,27 @@ test "it prints an error message when user is not exist" do
|
||||||
|
|
||||||
describe "running confirm" do
|
describe "running confirm" do
|
||||||
test "user is confirmed" do
|
test "user is confirmed" do
|
||||||
%{id: id, nickname: nickname} = insert(:user, confirmation_pending: false)
|
%{id: id, nickname: nickname} = insert(:user, is_confirmed: true)
|
||||||
|
|
||||||
assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname])
|
assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname])
|
||||||
assert_received {:mix_shell, :info, [message]}
|
assert_received {:mix_shell, :info, [message]}
|
||||||
assert message == "#{nickname} doesn't need confirmation."
|
assert message == "#{nickname} doesn't need confirmation."
|
||||||
|
|
||||||
user = Repo.get(User, id)
|
user = Repo.get(User, id)
|
||||||
refute user.confirmation_pending
|
assert user.is_confirmed
|
||||||
refute user.confirmation_token
|
refute user.confirmation_token
|
||||||
end
|
end
|
||||||
|
|
||||||
test "user is not confirmed" do
|
test "user is not confirmed" do
|
||||||
%{id: id, nickname: nickname} =
|
%{id: id, nickname: nickname} =
|
||||||
insert(:user, confirmation_pending: true, confirmation_token: "some token")
|
insert(:user, is_confirmed: false, confirmation_token: "some token")
|
||||||
|
|
||||||
assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname])
|
assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname])
|
||||||
assert_received {:mix_shell, :info, [message]}
|
assert_received {:mix_shell, :info, [message]}
|
||||||
assert message == "#{nickname} doesn't need confirmation."
|
assert message == "#{nickname} doesn't need confirmation."
|
||||||
|
|
||||||
user = Repo.get(User, id)
|
user = Repo.get(User, id)
|
||||||
refute user.confirmation_pending
|
assert user.is_confirmed
|
||||||
refute user.confirmation_token
|
refute user.confirmation_token
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -579,29 +579,29 @@ test "it prints an error message when user is not exist" do
|
||||||
|
|
||||||
describe "bulk confirm and unconfirm" do
|
describe "bulk confirm and unconfirm" do
|
||||||
test "confirm all" do
|
test "confirm all" do
|
||||||
user1 = insert(:user, confirmation_pending: true)
|
user1 = insert(:user, is_confirmed: false)
|
||||||
user2 = insert(:user, confirmation_pending: true)
|
user2 = insert(:user, is_confirmed: false)
|
||||||
|
|
||||||
assert user1.confirmation_pending
|
refute user1.is_confirmed
|
||||||
assert user2.confirmation_pending
|
refute user2.is_confirmed
|
||||||
|
|
||||||
Mix.Tasks.Pleroma.User.run(["confirm_all"])
|
Mix.Tasks.Pleroma.User.run(["confirm_all"])
|
||||||
|
|
||||||
user1 = User.get_cached_by_nickname(user1.nickname)
|
user1 = User.get_cached_by_nickname(user1.nickname)
|
||||||
user2 = User.get_cached_by_nickname(user2.nickname)
|
user2 = User.get_cached_by_nickname(user2.nickname)
|
||||||
|
|
||||||
refute user1.confirmation_pending
|
assert user1.is_confirmed
|
||||||
refute user2.confirmation_pending
|
assert user2.is_confirmed
|
||||||
end
|
end
|
||||||
|
|
||||||
test "unconfirm all" do
|
test "unconfirm all" do
|
||||||
user1 = insert(:user, confirmation_pending: false)
|
user1 = insert(:user, is_confirmed: true)
|
||||||
user2 = insert(:user, confirmation_pending: false)
|
user2 = insert(:user, is_confirmed: true)
|
||||||
admin = insert(:user, is_admin: true, confirmation_pending: false)
|
admin = insert(:user, is_admin: true, is_confirmed: true)
|
||||||
mod = insert(:user, is_moderator: true, confirmation_pending: false)
|
mod = insert(:user, is_moderator: true, is_confirmed: true)
|
||||||
|
|
||||||
refute user1.confirmation_pending
|
assert user1.is_confirmed
|
||||||
refute user2.confirmation_pending
|
assert user2.is_confirmed
|
||||||
|
|
||||||
Mix.Tasks.Pleroma.User.run(["unconfirm_all"])
|
Mix.Tasks.Pleroma.User.run(["unconfirm_all"])
|
||||||
|
|
||||||
|
@ -610,10 +610,10 @@ test "unconfirm all" do
|
||||||
admin = User.get_cached_by_nickname(admin.nickname)
|
admin = User.get_cached_by_nickname(admin.nickname)
|
||||||
mod = User.get_cached_by_nickname(mod.nickname)
|
mod = User.get_cached_by_nickname(mod.nickname)
|
||||||
|
|
||||||
assert user1.confirmation_pending
|
refute user1.is_confirmed
|
||||||
assert user2.confirmation_pending
|
refute user2.is_confirmed
|
||||||
refute admin.confirmation_pending
|
assert admin.is_confirmed
|
||||||
refute mod.confirmation_pending
|
assert mod.is_confirmed
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -640,7 +640,7 @@ test "it creates a confirmed user" do
|
||||||
|
|
||||||
{:ok, user} = Repo.insert(changeset)
|
{:ok, user} = Repo.insert(changeset)
|
||||||
|
|
||||||
refute user.confirmation_pending
|
assert user.is_confirmed
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -661,7 +661,7 @@ test "it creates unconfirmed user" do
|
||||||
|
|
||||||
{:ok, user} = Repo.insert(changeset)
|
{:ok, user} = Repo.insert(changeset)
|
||||||
|
|
||||||
assert user.confirmation_pending
|
refute user.is_confirmed
|
||||||
assert user.confirmation_token
|
assert user.confirmation_token
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -671,7 +671,7 @@ test "it creates confirmed user if :confirmed option is given" do
|
||||||
|
|
||||||
{:ok, user} = Repo.insert(changeset)
|
{:ok, user} = Repo.insert(changeset)
|
||||||
|
|
||||||
refute user.confirmation_pending
|
assert user.is_confirmed
|
||||||
refute user.confirmation_token
|
refute user.confirmation_token
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1443,17 +1443,17 @@ test "approving an approved user does not trigger post-register actions" do
|
||||||
|
|
||||||
describe "confirm" do
|
describe "confirm" do
|
||||||
test "confirms a user" do
|
test "confirms a user" do
|
||||||
user = insert(:user, confirmation_pending: true)
|
user = insert(:user, is_confirmed: false)
|
||||||
assert true == user.confirmation_pending
|
refute user.is_confirmed
|
||||||
{:ok, user} = User.confirm(user)
|
{:ok, user} = User.confirm(user)
|
||||||
assert false == user.confirmation_pending
|
assert user.is_confirmed
|
||||||
end
|
end
|
||||||
|
|
||||||
test "confirms a list of users" do
|
test "confirms a list of users" do
|
||||||
unconfirmed_users = [
|
unconfirmed_users = [
|
||||||
insert(:user, confirmation_pending: true),
|
insert(:user, is_confirmed: false),
|
||||||
insert(:user, confirmation_pending: true),
|
insert(:user, is_confirmed: false),
|
||||||
insert(:user, confirmation_pending: true)
|
insert(:user, is_confirmed: false)
|
||||||
]
|
]
|
||||||
|
|
||||||
{:ok, users} = User.confirm(unconfirmed_users)
|
{:ok, users} = User.confirm(unconfirmed_users)
|
||||||
|
@ -1461,13 +1461,13 @@ test "confirms a list of users" do
|
||||||
assert Enum.count(users) == 3
|
assert Enum.count(users) == 3
|
||||||
|
|
||||||
Enum.each(users, fn user ->
|
Enum.each(users, fn user ->
|
||||||
assert false == user.confirmation_pending
|
assert user.is_confirmed
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
test "sends approval emails when `approval_pending: true`" do
|
test "sends approval emails when `approval_pending: true`" do
|
||||||
admin = insert(:user, is_admin: true)
|
admin = insert(:user, is_admin: true)
|
||||||
user = insert(:user, confirmation_pending: true, approval_pending: true)
|
user = insert(:user, is_confirmed: false, approval_pending: true)
|
||||||
User.confirm(user)
|
User.confirm(user)
|
||||||
|
|
||||||
ObanHelpers.perform_all()
|
ObanHelpers.perform_all()
|
||||||
|
@ -1494,7 +1494,7 @@ test "sends approval emails when `approval_pending: true`" do
|
||||||
end
|
end
|
||||||
|
|
||||||
test "confirming a confirmed user does not trigger post-register actions" do
|
test "confirming a confirmed user does not trigger post-register actions" do
|
||||||
user = insert(:user, confirmation_pending: false, approval_pending: true)
|
user = insert(:user, is_confirmed: true, approval_pending: true)
|
||||||
User.confirm(user)
|
User.confirm(user)
|
||||||
|
|
||||||
ObanHelpers.perform_all()
|
ObanHelpers.perform_all()
|
||||||
|
@ -1565,7 +1565,7 @@ test "it deactivates a user, all follow relationships and all activities", %{use
|
||||||
|
|
||||||
describe "delete/1 when confirmation is pending" do
|
describe "delete/1 when confirmation is pending" do
|
||||||
setup do
|
setup do
|
||||||
user = insert(:user, confirmation_pending: true)
|
user = insert(:user, is_confirmed: false)
|
||||||
{:ok, user: user}
|
{:ok, user: user}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1616,7 +1616,7 @@ test "delete/1 purges a user when they wouldn't be fully deleted" do
|
||||||
follower_count: 9,
|
follower_count: 9,
|
||||||
following_count: 9001,
|
following_count: 9001,
|
||||||
is_locked: true,
|
is_locked: true,
|
||||||
confirmation_pending: true,
|
is_confirmed: false,
|
||||||
password_reset_pending: true,
|
password_reset_pending: true,
|
||||||
approval_pending: true,
|
approval_pending: true,
|
||||||
registration_reason: "ahhhhh",
|
registration_reason: "ahhhhh",
|
||||||
|
@ -1658,7 +1658,7 @@ test "delete/1 purges a user when they wouldn't be fully deleted" do
|
||||||
follower_count: 0,
|
follower_count: 0,
|
||||||
following_count: 0,
|
following_count: 0,
|
||||||
is_locked: false,
|
is_locked: false,
|
||||||
confirmation_pending: false,
|
is_confirmed: true,
|
||||||
password_reset_pending: false,
|
password_reset_pending: false,
|
||||||
approval_pending: false,
|
approval_pending: false,
|
||||||
registration_reason: nil,
|
registration_reason: nil,
|
||||||
|
@ -1729,13 +1729,13 @@ test "User.delete() plugs any possible zombie objects" do
|
||||||
|
|
||||||
test "return confirmation_pending for unconfirm user" do
|
test "return confirmation_pending for unconfirm user" do
|
||||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||||
user = insert(:user, confirmation_pending: true)
|
user = insert(:user, is_confirmed: false)
|
||||||
assert User.account_status(user) == :confirmation_pending
|
assert User.account_status(user) == :confirmation_pending
|
||||||
end
|
end
|
||||||
|
|
||||||
test "return active for confirmed user" do
|
test "return active for confirmed user" do
|
||||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||||
user = insert(:user, confirmation_pending: false)
|
user = insert(:user, is_confirmed: true)
|
||||||
assert User.account_status(user) == :active
|
assert User.account_status(user) == :active
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1750,7 +1750,7 @@ test "returns :password_reset_pending for user with reset password" do
|
||||||
end
|
end
|
||||||
|
|
||||||
test "returns :deactivated for deactivated user" do
|
test "returns :deactivated for deactivated user" do
|
||||||
user = insert(:user, local: true, confirmation_pending: false, deactivated: true)
|
user = insert(:user, local: true, is_confirmed: true, deactivated: true)
|
||||||
assert User.account_status(user) == :deactivated
|
assert User.account_status(user) == :deactivated
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1758,7 +1758,7 @@ test "returns :approval_pending for unapproved user" do
|
||||||
user = insert(:user, local: true, approval_pending: true)
|
user = insert(:user, local: true, approval_pending: true)
|
||||||
assert User.account_status(user) == :approval_pending
|
assert User.account_status(user) == :approval_pending
|
||||||
|
|
||||||
user = insert(:user, local: true, confirmation_pending: true, approval_pending: true)
|
user = insert(:user, local: true, is_confirmed: false, approval_pending: true)
|
||||||
assert User.account_status(user) == :approval_pending
|
assert User.account_status(user) == :approval_pending
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1815,7 +1815,7 @@ test "returns true when the account is itself" do
|
||||||
test "returns false when the account is unconfirmed and confirmation is required" do
|
test "returns false when the account is unconfirmed and confirmation is required" do
|
||||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||||
|
|
||||||
user = insert(:user, local: true, confirmation_pending: true)
|
user = insert(:user, local: true, is_confirmed: false)
|
||||||
other_user = insert(:user, local: true)
|
other_user = insert(:user, local: true)
|
||||||
|
|
||||||
refute User.visible_for(user, other_user) == :visible
|
refute User.visible_for(user, other_user) == :visible
|
||||||
|
@ -1824,14 +1824,14 @@ test "returns false when the account is unconfirmed and confirmation is required
|
||||||
test "returns true when the account is unconfirmed and confirmation is required but the account is remote" do
|
test "returns true when the account is unconfirmed and confirmation is required but the account is remote" do
|
||||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||||
|
|
||||||
user = insert(:user, local: false, confirmation_pending: true)
|
user = insert(:user, local: false, is_confirmed: false)
|
||||||
other_user = insert(:user, local: true)
|
other_user = insert(:user, local: true)
|
||||||
|
|
||||||
assert User.visible_for(user, other_user) == :visible
|
assert User.visible_for(user, other_user) == :visible
|
||||||
end
|
end
|
||||||
|
|
||||||
test "returns true when the account is unconfirmed and confirmation is not required" do
|
test "returns true when the account is unconfirmed and confirmation is not required" do
|
||||||
user = insert(:user, local: true, confirmation_pending: true)
|
user = insert(:user, local: true, is_confirmed: false)
|
||||||
other_user = insert(:user, local: true)
|
other_user = insert(:user, local: true)
|
||||||
|
|
||||||
assert User.visible_for(user, other_user) == :visible
|
assert User.visible_for(user, other_user) == :visible
|
||||||
|
@ -1840,7 +1840,7 @@ test "returns true when the account is unconfirmed and confirmation is not requi
|
||||||
test "returns true when the account is unconfirmed and being viewed by a privileged account (confirmation required)" do
|
test "returns true when the account is unconfirmed and being viewed by a privileged account (confirmation required)" do
|
||||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||||
|
|
||||||
user = insert(:user, local: true, confirmation_pending: true)
|
user = insert(:user, local: true, is_confirmed: false)
|
||||||
other_user = insert(:user, local: true, is_admin: true)
|
other_user = insert(:user, local: true, is_admin: true)
|
||||||
|
|
||||||
assert User.visible_for(user, other_user) == :visible
|
assert User.visible_for(user, other_user) == :visible
|
||||||
|
|
|
@ -159,7 +159,7 @@ test "creates a notification", %{emoji_react: emoji_react, poster: poster} do
|
||||||
|
|
||||||
describe "delete users with confirmation pending" do
|
describe "delete users with confirmation pending" do
|
||||||
setup do
|
setup do
|
||||||
user = insert(:user, confirmation_pending: true)
|
user = insert(:user, is_confirmed: false)
|
||||||
{:ok, delete_user_data, _meta} = Builder.delete(user, user.ap_id)
|
{:ok, delete_user_data, _meta} = Builder.delete(user, user.ap_id)
|
||||||
{:ok, delete_user, _meta} = ActivityPub.persist(delete_user_data, local: true)
|
{:ok, delete_user, _meta} = ActivityPub.persist(delete_user_data, local: true)
|
||||||
{:ok, delete: delete_user, user: user}
|
{:ok, delete: delete_user, user: user}
|
||||||
|
|
|
@ -891,10 +891,10 @@ test "GET /instances/:instance/statuses", %{conn: conn} do
|
||||||
|
|
||||||
describe "PATCH /confirm_email" do
|
describe "PATCH /confirm_email" do
|
||||||
test "it confirms emails of two users", %{conn: conn, admin: admin} do
|
test "it confirms emails of two users", %{conn: conn, admin: admin} do
|
||||||
[first_user, second_user] = insert_pair(:user, confirmation_pending: true)
|
[first_user, second_user] = insert_pair(:user, is_confirmed: false)
|
||||||
|
|
||||||
assert first_user.confirmation_pending == true
|
refute first_user.is_confirmed
|
||||||
assert second_user.confirmation_pending == true
|
refute second_user.is_confirmed
|
||||||
|
|
||||||
ret_conn =
|
ret_conn =
|
||||||
patch(conn, "/api/pleroma/admin/users/confirm_email", %{
|
patch(conn, "/api/pleroma/admin/users/confirm_email", %{
|
||||||
|
@ -906,8 +906,8 @@ test "it confirms emails of two users", %{conn: conn, admin: admin} do
|
||||||
|
|
||||||
assert ret_conn.status == 200
|
assert ret_conn.status == 200
|
||||||
|
|
||||||
assert first_user.confirmation_pending == true
|
assert User.get_by_id(first_user.id).is_confirmed
|
||||||
assert second_user.confirmation_pending == true
|
assert User.get_by_id(second_user.id).is_confirmed
|
||||||
|
|
||||||
log_entry = Repo.one(ModerationLog)
|
log_entry = Repo.one(ModerationLog)
|
||||||
|
|
||||||
|
@ -920,7 +920,7 @@ test "it confirms emails of two users", %{conn: conn, admin: admin} do
|
||||||
|
|
||||||
describe "PATCH /resend_confirmation_email" do
|
describe "PATCH /resend_confirmation_email" do
|
||||||
test "it resend emails for two users", %{conn: conn, admin: admin} do
|
test "it resend emails for two users", %{conn: conn, admin: admin} do
|
||||||
[first_user, second_user] = insert_pair(:user, confirmation_pending: true)
|
[first_user, second_user] = insert_pair(:user, is_confirmed: false)
|
||||||
|
|
||||||
ret_conn =
|
ret_conn =
|
||||||
patch(conn, "/api/pleroma/admin/users/resend_confirmation_email", %{
|
patch(conn, "/api/pleroma/admin/users/resend_confirmation_email", %{
|
||||||
|
|
|
@ -48,7 +48,7 @@ test "shows activity", %{conn: conn} do
|
||||||
assert account["id"] == actor.id
|
assert account["id"] == actor.id
|
||||||
assert account["nickname"] == actor.nickname
|
assert account["nickname"] == actor.nickname
|
||||||
assert account["deactivated"] == actor.deactivated
|
assert account["deactivated"] == actor.deactivated
|
||||||
assert account["confirmation_pending"] == actor.confirmation_pending
|
assert account["is_confirmed"] == actor.is_confirmed
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -635,11 +635,11 @@ test "only local users with no query", %{conn: conn, admin: old_admin} do
|
||||||
end
|
end
|
||||||
|
|
||||||
test "only unconfirmed users", %{conn: conn} do
|
test "only unconfirmed users", %{conn: conn} do
|
||||||
sad_user = insert(:user, nickname: "sadboy", confirmation_pending: true)
|
sad_user = insert(:user, nickname: "sadboy", is_confirmed: false)
|
||||||
old_user = insert(:user, nickname: "oldboy", confirmation_pending: true)
|
old_user = insert(:user, nickname: "oldboy", is_confirmed: false)
|
||||||
|
|
||||||
insert(:user, nickname: "happyboy", approval_pending: false)
|
insert(:user, nickname: "happyboy", approval_pending: false)
|
||||||
insert(:user, confirmation_pending: false)
|
insert(:user, is_confirmed: true)
|
||||||
|
|
||||||
result =
|
result =
|
||||||
conn
|
conn
|
||||||
|
@ -649,7 +649,7 @@ test "only unconfirmed users", %{conn: conn} do
|
||||||
users =
|
users =
|
||||||
Enum.map([old_user, sad_user], fn user ->
|
Enum.map([old_user, sad_user], fn user ->
|
||||||
user_response(user, %{
|
user_response(user, %{
|
||||||
"confirmation_pending" => true,
|
"is_confirmed" => false,
|
||||||
"approval_pending" => false
|
"approval_pending" => false
|
||||||
})
|
})
|
||||||
end)
|
end)
|
||||||
|
@ -960,7 +960,7 @@ defp user_response(user, attrs \\ %{}) do
|
||||||
"tags" => [],
|
"tags" => [],
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"is_confirmed" => true,
|
||||||
"approval_pending" => false,
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil,
|
"registration_reason" => nil,
|
||||||
|
|
|
@ -193,7 +193,7 @@ test "it returns unapproved user" do
|
||||||
end
|
end
|
||||||
|
|
||||||
test "it returns unconfirmed user" do
|
test "it returns unconfirmed user" do
|
||||||
unconfirmed = insert(:user, confirmation_pending: true)
|
unconfirmed = insert(:user, is_confirmed: false)
|
||||||
insert(:user)
|
insert(:user)
|
||||||
insert(:user)
|
insert(:user)
|
||||||
|
|
||||||
|
|
|
@ -1027,7 +1027,7 @@ test "registers and logs in without :account_activation_required / :account_appr
|
||||||
user = Repo.preload(token_from_db, :user).user
|
user = Repo.preload(token_from_db, :user).user
|
||||||
|
|
||||||
assert user
|
assert user
|
||||||
refute user.confirmation_pending
|
assert user.is_confirmed
|
||||||
refute user.approval_pending
|
refute user.approval_pending
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1088,7 +1088,7 @@ test "registers but does not log in with :account_activation_required", %{conn:
|
||||||
refute response["token_type"]
|
refute response["token_type"]
|
||||||
|
|
||||||
user = Repo.get_by(User, email: "lain@example.org")
|
user = Repo.get_by(User, email: "lain@example.org")
|
||||||
assert user.confirmation_pending
|
refute user.is_confirmed
|
||||||
end
|
end
|
||||||
|
|
||||||
test "registers but does not log in with :account_approval_required", %{conn: conn} do
|
test "registers but does not log in with :account_approval_required", %{conn: conn} do
|
||||||
|
|
|
@ -79,7 +79,7 @@ test "Represent a user account" do
|
||||||
also_known_as: ["https://shitposter.zone/users/shp"],
|
also_known_as: ["https://shitposter.zone/users/shp"],
|
||||||
background_image: "https://example.com/images/asuka_hospital.png",
|
background_image: "https://example.com/images/asuka_hospital.png",
|
||||||
favicon: nil,
|
favicon: nil,
|
||||||
confirmation_pending: false,
|
is_confirmed: true,
|
||||||
tags: [],
|
tags: [],
|
||||||
is_admin: false,
|
is_admin: false,
|
||||||
is_moderator: false,
|
is_moderator: false,
|
||||||
|
@ -178,7 +178,7 @@ test "Represent a Service(bot) account" do
|
||||||
also_known_as: [],
|
also_known_as: [],
|
||||||
background_image: nil,
|
background_image: nil,
|
||||||
favicon: nil,
|
favicon: nil,
|
||||||
confirmation_pending: false,
|
is_confirmed: true,
|
||||||
tags: [],
|
tags: [],
|
||||||
is_admin: false,
|
is_admin: false,
|
||||||
is_moderator: false,
|
is_moderator: false,
|
||||||
|
|
|
@ -1013,7 +1013,7 @@ test "rejects token exchange for user with confirmation_pending set to true" do
|
||||||
user =
|
user =
|
||||||
insert(:user,
|
insert(:user,
|
||||||
password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt(password),
|
password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt(password),
|
||||||
confirmation_pending: true
|
is_confirmed: false
|
||||||
)
|
)
|
||||||
|
|
||||||
app = insert(:oauth_app, scopes: ["read", "write"])
|
app = insert(:oauth_app, scopes: ["read", "write"])
|
||||||
|
|
|
@ -20,7 +20,7 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do
|
||||||
|> User.confirmation_changeset(need_confirmation: true)
|
|> User.confirmation_changeset(need_confirmation: true)
|
||||||
|> User.update_and_set_cache()
|
|> User.update_and_set_cache()
|
||||||
|
|
||||||
assert user.confirmation_pending
|
refute user.is_confirmed
|
||||||
|
|
||||||
[user: user]
|
[user: user]
|
||||||
end
|
end
|
||||||
|
|
|
@ -22,7 +22,7 @@ test "with a user that's not confirmed and a config requiring confirmation, it r
|
||||||
%{conn: conn} do
|
%{conn: conn} do
|
||||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||||
|
|
||||||
user = insert(:user, confirmation_pending: true)
|
user = insert(:user, is_confirmed: false)
|
||||||
|
|
||||||
conn =
|
conn =
|
||||||
conn
|
conn
|
||||||
|
|
|
@ -67,7 +67,7 @@ test "with credentials, with params" do
|
||||||
|> User.confirmation_changeset(need_confirmation: true)
|
|> User.confirmation_changeset(need_confirmation: true)
|
||||||
|> Repo.update()
|
|> Repo.update()
|
||||||
|
|
||||||
assert user.confirmation_pending
|
refute user.is_confirmed
|
||||||
|
|
||||||
[user: user]
|
[user: user]
|
||||||
end
|
end
|
||||||
|
@ -83,7 +83,7 @@ test "it confirms the user account", %{conn: conn, user: user} do
|
||||||
|
|
||||||
user = User.get_cached_by_id(user.id)
|
user = User.get_cached_by_id(user.id)
|
||||||
|
|
||||||
refute user.confirmation_pending
|
assert user.is_confirmed
|
||||||
refute user.confirmation_token
|
refute user.confirmation_token
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ test "it sends confirmation email if :account_activation_required is specified i
|
||||||
{:ok, user} = TwitterAPI.register_user(data)
|
{:ok, user} = TwitterAPI.register_user(data)
|
||||||
ObanHelpers.perform_all()
|
ObanHelpers.perform_all()
|
||||||
|
|
||||||
assert user.confirmation_pending
|
refute user.is_confirmed
|
||||||
|
|
||||||
email = Pleroma.Emails.UserEmail.account_confirmation_email(user)
|
email = Pleroma.Emails.UserEmail.account_confirmation_email(user)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue