forked from AkkomaGang/akkoma
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
lib
mix/tasks/pleroma
pleroma
priv/repo/migrations
test
mix/tasks/pleroma
pleroma
user_test.exs
web
activity_pub
admin_api
controllers
search_test.exsmastodon_api
o_auth
pleroma_api/controllers
plugs
twitter_api
|
@ -34,7 +34,7 @@ def run(["resend_confirmation_emails"]) do
|
|||
Pleroma.User.Query.build(%{
|
||||
local: true,
|
||||
deactivated: false,
|
||||
confirmation_pending: true,
|
||||
is_confirmed: false,
|
||||
invisible: false
|
||||
})
|
||||
|> Pleroma.Repo.chunk_stream(500)
|
||||
|
|
|
@ -74,7 +74,7 @@ def run(["new", nickname, email | rest]) do
|
|||
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)
|
||||
|
||||
shell_info("User #{nickname} created")
|
||||
|
@ -351,7 +351,7 @@ def run(["confirm", nickname]) do
|
|||
with %User{} = user <- User.get_cached_by_nickname(nickname) do
|
||||
{: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.")
|
||||
else
|
||||
|
@ -457,7 +457,7 @@ defp set_locked(user, value) do
|
|||
defp set_confirmed(user, value) do
|
||||
{: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
|
||||
end
|
||||
end
|
||||
|
|
|
@ -110,7 +110,7 @@ defmodule Pleroma.User do
|
|||
field(:follower_count, :integer, default: 0)
|
||||
field(:following_count, :integer, default: 0)
|
||||
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(:approval_pending, :boolean, default: false)
|
||||
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{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
|
||||
:confirmation_pending
|
||||
else
|
||||
|
@ -808,7 +808,7 @@ def register(%Ecto.Changeset{} = changeset) do
|
|||
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
|
||||
{:ok, user}
|
||||
end
|
||||
|
@ -821,7 +821,7 @@ def post_register_action(%User{approval_pending: true} = user) do
|
|||
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),
|
||||
{:ok, _} <- autofollowing_users(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}
|
||||
|
||||
@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
|
||||
if Config.get([:instance, :account_activation_required]) do
|
||||
send_confirmation_email(user)
|
||||
|
@ -1642,7 +1642,7 @@ def confirm(users) when is_list(users) do
|
|||
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),
|
||||
{:ok, user} <- update_and_set_cache(chg) do
|
||||
post_register_action(user)
|
||||
|
@ -1682,7 +1682,7 @@ def purge_user_changeset(user) do
|
|||
follower_count: 0,
|
||||
following_count: 0,
|
||||
is_locked: false,
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
password_reset_pending: false,
|
||||
approval_pending: false,
|
||||
registration_reason: nil,
|
||||
|
@ -2313,17 +2313,17 @@ def confirmation_changeset(user, need_confirmation: need_confirmation?) do
|
|||
params =
|
||||
if need_confirmation? do
|
||||
%{
|
||||
confirmation_pending: true,
|
||||
is_confirmed: false,
|
||||
confirmation_token: :crypto.strong_rand_bytes(32) |> Base.url_encode64()
|
||||
}
|
||||
else
|
||||
%{
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
confirmation_token: nil
|
||||
}
|
||||
end
|
||||
|
||||
cast(user, params, [:confirmation_pending, :confirmation_token])
|
||||
cast(user, params, [:is_confirmed, :confirmation_token])
|
||||
end
|
||||
|
||||
@spec approval_changeset(User.t(), keyword()) :: Changeset.t()
|
||||
|
|
|
@ -155,7 +155,7 @@ defp compose_query({:deactivated, true}, query) do
|
|||
end
|
||||
|
||||
defp compose_query({:confirmation_pending, bool}, query) do
|
||||
where(query, [u], u.confirmation_pending == ^bool)
|
||||
where(query, [u], u.is_confirmed != ^bool)
|
||||
end
|
||||
|
||||
defp compose_query({:need_approval, _}, query) do
|
||||
|
@ -163,7 +163,7 @@ defp compose_query({:need_approval, _}, query) do
|
|||
end
|
||||
|
||||
defp compose_query({:unconfirmed, _}, query) do
|
||||
where(query, [u], u.confirmation_pending)
|
||||
where(query, [u], u.is_confirmed == false)
|
||||
end
|
||||
|
||||
defp compose_query({:followers, %User{id: id}}, query) do
|
||||
|
|
|
@ -77,7 +77,7 @@ def render("show.json", %{user: user}) do
|
|||
"local" => user.local,
|
||||
"roles" => User.roles(user),
|
||||
"tags" => user.tags || [],
|
||||
"confirmation_pending" => user.confirmation_pending,
|
||||
"is_confirmed" => user.is_confirmed,
|
||||
"approval_pending" => user.approval_pending,
|
||||
"url" => user.uri || user.ap_id,
|
||||
"registration_reason" => user.registration_reason,
|
||||
|
|
|
@ -191,7 +191,7 @@ defp account_admin do
|
|||
moderator: %Schema{type: :boolean}
|
||||
}
|
||||
},
|
||||
confirmation_pending: %Schema{type: :boolean}
|
||||
is_confirmed: %Schema{type: :boolean}
|
||||
})
|
||||
}
|
||||
end
|
||||
|
|
|
@ -142,7 +142,7 @@ def admin_account do
|
|||
}
|
||||
},
|
||||
tags: %Schema{type: :string},
|
||||
confirmation_pending: %Schema{type: :string}
|
||||
is_confirmed: %Schema{type: :string}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
|
@ -236,7 +236,7 @@ def chats_response do
|
|||
"account" => %{
|
||||
"pleroma" => %{
|
||||
"is_admin" => false,
|
||||
"confirmation_pending" => false,
|
||||
"is_confirmed" => true,
|
||||
"hide_followers_count" => false,
|
||||
"is_moderator" => false,
|
||||
"hide_favorites" => true,
|
||||
|
|
|
@ -48,7 +48,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
|
|||
},
|
||||
background_image: %Schema{type: :string, nullable: true, format: :uri},
|
||||
chat_token: %Schema{type: :string},
|
||||
confirmation_pending: %Schema{
|
||||
is_confirmed: %Schema{
|
||||
type: :boolean,
|
||||
description:
|
||||
"whether the user account is waiting on email confirmation to be activated"
|
||||
|
@ -166,7 +166,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
|
|||
"pleroma" => %{
|
||||
"allow_following_move" => true,
|
||||
"background_image" => nil,
|
||||
"confirmation_pending" => true,
|
||||
"is_confirmed" => false,
|
||||
"hide_favorites" => true,
|
||||
"hide_followers" => false,
|
||||
"hide_followers_count" => false,
|
||||
|
|
|
@ -23,7 +23,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Chat do
|
|||
"account" => %{
|
||||
"pleroma" => %{
|
||||
"is_admin" => false,
|
||||
"confirmation_pending" => false,
|
||||
"is_confirmed" => true,
|
||||
"hide_followers_count" => false,
|
||||
"is_moderator" => false,
|
||||
"hide_favorites" => true,
|
||||
|
|
|
@ -256,7 +256,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do
|
|||
"note" => "Tester Number 6",
|
||||
"pleroma" => %{
|
||||
"background_image" => nil,
|
||||
"confirmation_pending" => false,
|
||||
"is_confirmed" => true,
|
||||
"hide_favorites" => true,
|
||||
"hide_followers" => false,
|
||||
"hide_followers_count" => false,
|
||||
|
|
|
@ -266,7 +266,7 @@ defp do_render("show.json", %{user: user} = opts) do
|
|||
pleroma: %{
|
||||
ap_id: user.ap_id,
|
||||
also_known_as: user.also_known_as,
|
||||
confirmation_pending: user.confirmation_pending,
|
||||
is_confirmed: user.is_confirmed,
|
||||
tags: user.tags,
|
||||
hide_followers_count: user.hide_followers_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
|
||||
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
|
||||
redirect(conn, to: "/")
|
||||
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
|
||||
local_user1 =
|
||||
insert(:user, %{
|
||||
confirmation_pending: true,
|
||||
is_confirmed: false,
|
||||
confirmation_token: "mytoken",
|
||||
deactivated: false,
|
||||
email: "local1@pleroma.com",
|
||||
|
@ -70,7 +70,7 @@ test "Sends confirmation emails" do
|
|||
|
||||
local_user2 =
|
||||
insert(:user, %{
|
||||
confirmation_pending: true,
|
||||
is_confirmed: false,
|
||||
confirmation_token: "mytoken",
|
||||
deactivated: false,
|
||||
email: "local2@pleroma.com",
|
||||
|
@ -88,7 +88,7 @@ test "Sends confirmation emails" do
|
|||
test "Does not send confirmation email to inappropriate users" do
|
||||
# confirmed user
|
||||
insert(:user, %{
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
confirmation_token: "mytoken",
|
||||
deactivated: false,
|
||||
email: "confirmed@pleroma.com",
|
||||
|
|
|
@ -238,7 +238,7 @@ test "All statuses set" do
|
|||
assert message =~ ~r/Admin status .* true/
|
||||
|
||||
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 message =~ ~r/Locked status .* true/
|
||||
|
@ -250,7 +250,7 @@ test "All statuses set" do
|
|||
assert user.is_moderator
|
||||
assert user.is_locked
|
||||
assert user.is_admin
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
end
|
||||
|
||||
test "All statuses unset" do
|
||||
|
@ -259,7 +259,7 @@ test "All statuses unset" do
|
|||
is_locked: true,
|
||||
is_moderator: true,
|
||||
is_admin: true,
|
||||
confirmation_pending: true
|
||||
is_confirmed: false
|
||||
)
|
||||
|
||||
Mix.Tasks.Pleroma.User.run([
|
||||
|
@ -275,7 +275,7 @@ test "All statuses unset" do
|
|||
assert message =~ ~r/Admin status .* false/
|
||||
|
||||
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 message =~ ~r/Locked status .* false/
|
||||
|
@ -287,7 +287,7 @@ test "All statuses unset" do
|
|||
refute user.is_moderator
|
||||
refute user.is_locked
|
||||
refute user.is_admin
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
end
|
||||
|
||||
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
|
||||
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_received {:mix_shell, :info, [message]}
|
||||
assert message == "#{nickname} doesn't need confirmation."
|
||||
|
||||
user = Repo.get(User, id)
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
refute user.confirmation_token
|
||||
end
|
||||
|
||||
test "user is not confirmed" do
|
||||
%{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_received {:mix_shell, :info, [message]}
|
||||
assert message == "#{nickname} doesn't need confirmation."
|
||||
|
||||
user = Repo.get(User, id)
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
refute user.confirmation_token
|
||||
end
|
||||
|
||||
|
@ -579,29 +579,29 @@ test "it prints an error message when user is not exist" do
|
|||
|
||||
describe "bulk confirm and unconfirm" do
|
||||
test "confirm all" do
|
||||
user1 = insert(:user, confirmation_pending: true)
|
||||
user2 = insert(:user, confirmation_pending: true)
|
||||
user1 = insert(:user, is_confirmed: false)
|
||||
user2 = insert(:user, is_confirmed: false)
|
||||
|
||||
assert user1.confirmation_pending
|
||||
assert user2.confirmation_pending
|
||||
refute user1.is_confirmed
|
||||
refute user2.is_confirmed
|
||||
|
||||
Mix.Tasks.Pleroma.User.run(["confirm_all"])
|
||||
|
||||
user1 = User.get_cached_by_nickname(user1.nickname)
|
||||
user2 = User.get_cached_by_nickname(user2.nickname)
|
||||
|
||||
refute user1.confirmation_pending
|
||||
refute user2.confirmation_pending
|
||||
assert user1.is_confirmed
|
||||
assert user2.is_confirmed
|
||||
end
|
||||
|
||||
test "unconfirm all" do
|
||||
user1 = insert(:user, confirmation_pending: false)
|
||||
user2 = insert(:user, confirmation_pending: false)
|
||||
admin = insert(:user, is_admin: true, confirmation_pending: false)
|
||||
mod = insert(:user, is_moderator: true, confirmation_pending: false)
|
||||
user1 = insert(:user, is_confirmed: true)
|
||||
user2 = insert(:user, is_confirmed: true)
|
||||
admin = insert(:user, is_admin: true, is_confirmed: true)
|
||||
mod = insert(:user, is_moderator: true, is_confirmed: true)
|
||||
|
||||
refute user1.confirmation_pending
|
||||
refute user2.confirmation_pending
|
||||
assert user1.is_confirmed
|
||||
assert user2.is_confirmed
|
||||
|
||||
Mix.Tasks.Pleroma.User.run(["unconfirm_all"])
|
||||
|
||||
|
@ -610,10 +610,10 @@ test "unconfirm all" do
|
|||
admin = User.get_cached_by_nickname(admin.nickname)
|
||||
mod = User.get_cached_by_nickname(mod.nickname)
|
||||
|
||||
assert user1.confirmation_pending
|
||||
assert user2.confirmation_pending
|
||||
refute admin.confirmation_pending
|
||||
refute mod.confirmation_pending
|
||||
refute user1.is_confirmed
|
||||
refute user2.is_confirmed
|
||||
assert admin.is_confirmed
|
||||
assert mod.is_confirmed
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -640,7 +640,7 @@ test "it creates a confirmed user" do
|
|||
|
||||
{:ok, user} = Repo.insert(changeset)
|
||||
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -661,7 +661,7 @@ test "it creates unconfirmed user" do
|
|||
|
||||
{:ok, user} = Repo.insert(changeset)
|
||||
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
assert user.confirmation_token
|
||||
end
|
||||
|
||||
|
@ -671,7 +671,7 @@ test "it creates confirmed user if :confirmed option is given" do
|
|||
|
||||
{:ok, user} = Repo.insert(changeset)
|
||||
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
refute user.confirmation_token
|
||||
end
|
||||
end
|
||||
|
@ -1443,17 +1443,17 @@ test "approving an approved user does not trigger post-register actions" do
|
|||
|
||||
describe "confirm" do
|
||||
test "confirms a user" do
|
||||
user = insert(:user, confirmation_pending: true)
|
||||
assert true == user.confirmation_pending
|
||||
user = insert(:user, is_confirmed: false)
|
||||
refute user.is_confirmed
|
||||
{:ok, user} = User.confirm(user)
|
||||
assert false == user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
end
|
||||
|
||||
test "confirms a list of users" do
|
||||
unconfirmed_users = [
|
||||
insert(:user, confirmation_pending: true),
|
||||
insert(:user, confirmation_pending: true),
|
||||
insert(:user, confirmation_pending: true)
|
||||
insert(:user, is_confirmed: false),
|
||||
insert(:user, is_confirmed: false),
|
||||
insert(:user, is_confirmed: false)
|
||||
]
|
||||
|
||||
{:ok, users} = User.confirm(unconfirmed_users)
|
||||
|
@ -1461,13 +1461,13 @@ test "confirms a list of users" do
|
|||
assert Enum.count(users) == 3
|
||||
|
||||
Enum.each(users, fn user ->
|
||||
assert false == user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
end)
|
||||
end
|
||||
|
||||
test "sends approval emails when `approval_pending: true`" do
|
||||
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)
|
||||
|
||||
ObanHelpers.perform_all()
|
||||
|
@ -1494,7 +1494,7 @@ test "sends approval emails when `approval_pending: true`" do
|
|||
end
|
||||
|
||||
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)
|
||||
|
||||
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
|
||||
setup do
|
||||
user = insert(:user, confirmation_pending: true)
|
||||
user = insert(:user, is_confirmed: false)
|
||||
{:ok, user: user}
|
||||
end
|
||||
|
||||
|
@ -1616,7 +1616,7 @@ test "delete/1 purges a user when they wouldn't be fully deleted" do
|
|||
follower_count: 9,
|
||||
following_count: 9001,
|
||||
is_locked: true,
|
||||
confirmation_pending: true,
|
||||
is_confirmed: false,
|
||||
password_reset_pending: true,
|
||||
approval_pending: true,
|
||||
registration_reason: "ahhhhh",
|
||||
|
@ -1658,7 +1658,7 @@ test "delete/1 purges a user when they wouldn't be fully deleted" do
|
|||
follower_count: 0,
|
||||
following_count: 0,
|
||||
is_locked: false,
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
password_reset_pending: false,
|
||||
approval_pending: false,
|
||||
registration_reason: nil,
|
||||
|
@ -1729,13 +1729,13 @@ test "User.delete() plugs any possible zombie objects" do
|
|||
|
||||
test "return confirmation_pending for unconfirm user" do
|
||||
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
|
||||
end
|
||||
|
||||
test "return active for confirmed user" do
|
||||
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
|
||||
end
|
||||
|
||||
|
@ -1750,7 +1750,7 @@ test "returns :password_reset_pending for user with reset password" do
|
|||
end
|
||||
|
||||
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
|
||||
end
|
||||
|
||||
|
@ -1758,7 +1758,7 @@ test "returns :approval_pending for unapproved user" do
|
|||
user = insert(:user, local: true, approval_pending: true)
|
||||
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
|
||||
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
|
||||
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)
|
||||
|
||||
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
|
||||
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)
|
||||
|
||||
assert User.visible_for(user, other_user) == :visible
|
||||
end
|
||||
|
||||
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)
|
||||
|
||||
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
|
||||
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)
|
||||
|
||||
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
|
||||
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, _meta} = ActivityPub.persist(delete_user_data, local: true)
|
||||
{:ok, delete: delete_user, user: user}
|
||||
|
|
|
@ -891,10 +891,10 @@ test "GET /instances/:instance/statuses", %{conn: conn} do
|
|||
|
||||
describe "PATCH /confirm_email" 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
|
||||
assert second_user.confirmation_pending == true
|
||||
refute first_user.is_confirmed
|
||||
refute second_user.is_confirmed
|
||||
|
||||
ret_conn =
|
||||
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 first_user.confirmation_pending == true
|
||||
assert second_user.confirmation_pending == true
|
||||
assert User.get_by_id(first_user.id).is_confirmed
|
||||
assert User.get_by_id(second_user.id).is_confirmed
|
||||
|
||||
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
|
||||
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 =
|
||||
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["nickname"] == actor.nickname
|
||||
assert account["deactivated"] == actor.deactivated
|
||||
assert account["confirmation_pending"] == actor.confirmation_pending
|
||||
assert account["is_confirmed"] == actor.is_confirmed
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -635,11 +635,11 @@ test "only local users with no query", %{conn: conn, admin: old_admin} do
|
|||
end
|
||||
|
||||
test "only unconfirmed users", %{conn: conn} do
|
||||
sad_user = insert(:user, nickname: "sadboy", confirmation_pending: true)
|
||||
old_user = insert(:user, nickname: "oldboy", confirmation_pending: true)
|
||||
sad_user = insert(:user, nickname: "sadboy", is_confirmed: false)
|
||||
old_user = insert(:user, nickname: "oldboy", is_confirmed: false)
|
||||
|
||||
insert(:user, nickname: "happyboy", approval_pending: false)
|
||||
insert(:user, confirmation_pending: false)
|
||||
insert(:user, is_confirmed: true)
|
||||
|
||||
result =
|
||||
conn
|
||||
|
@ -649,7 +649,7 @@ test "only unconfirmed users", %{conn: conn} do
|
|||
users =
|
||||
Enum.map([old_user, sad_user], fn user ->
|
||||
user_response(user, %{
|
||||
"confirmation_pending" => true,
|
||||
"is_confirmed" => false,
|
||||
"approval_pending" => false
|
||||
})
|
||||
end)
|
||||
|
@ -960,7 +960,7 @@ defp user_response(user, attrs \\ %{}) do
|
|||
"tags" => [],
|
||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||
"confirmation_pending" => false,
|
||||
"is_confirmed" => true,
|
||||
"approval_pending" => false,
|
||||
"url" => user.ap_id,
|
||||
"registration_reason" => nil,
|
||||
|
|
|
@ -193,7 +193,7 @@ test "it returns unapproved user" do
|
|||
end
|
||||
|
||||
test "it returns unconfirmed user" do
|
||||
unconfirmed = insert(:user, confirmation_pending: true)
|
||||
unconfirmed = insert(:user, is_confirmed: false)
|
||||
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
|
||||
|
||||
assert user
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
refute user.approval_pending
|
||||
end
|
||||
|
||||
|
@ -1088,7 +1088,7 @@ test "registers but does not log in with :account_activation_required", %{conn:
|
|||
refute response["token_type"]
|
||||
|
||||
user = Repo.get_by(User, email: "lain@example.org")
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
end
|
||||
|
||||
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"],
|
||||
background_image: "https://example.com/images/asuka_hospital.png",
|
||||
favicon: nil,
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
tags: [],
|
||||
is_admin: false,
|
||||
is_moderator: false,
|
||||
|
@ -178,7 +178,7 @@ test "Represent a Service(bot) account" do
|
|||
also_known_as: [],
|
||||
background_image: nil,
|
||||
favicon: nil,
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
tags: [],
|
||||
is_admin: false,
|
||||
is_moderator: false,
|
||||
|
|
|
@ -1013,7 +1013,7 @@ test "rejects token exchange for user with confirmation_pending set to true" do
|
|||
user =
|
||||
insert(:user,
|
||||
password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt(password),
|
||||
confirmation_pending: true
|
||||
is_confirmed: false
|
||||
)
|
||||
|
||||
app = insert(:oauth_app, scopes: ["read", "write"])
|
||||
|
|
|
@ -20,7 +20,7 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do
|
|||
|> User.confirmation_changeset(need_confirmation: true)
|
||||
|> User.update_and_set_cache()
|
||||
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
|
||||
[user: user]
|
||||
end
|
||||
|
|
|
@ -22,7 +22,7 @@ test "with a user that's not confirmed and a config requiring confirmation, it r
|
|||
%{conn: conn} do
|
||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||
|
||||
user = insert(:user, confirmation_pending: true)
|
||||
user = insert(:user, is_confirmed: false)
|
||||
|
||||
conn =
|
||||
conn
|
||||
|
|
|
@ -67,7 +67,7 @@ test "with credentials, with params" do
|
|||
|> User.confirmation_changeset(need_confirmation: true)
|
||||
|> Repo.update()
|
||||
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
|
||||
[user: user]
|
||||
end
|
||||
|
@ -83,7 +83,7 @@ test "it confirms the user account", %{conn: conn, user: user} do
|
|||
|
||||
user = User.get_cached_by_id(user.id)
|
||||
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
refute user.confirmation_token
|
||||
end
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ test "it sends confirmation email if :account_activation_required is specified i
|
|||
{:ok, user} = TwitterAPI.register_user(data)
|
||||
ObanHelpers.perform_all()
|
||||
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
|
||||
email = Pleroma.Emails.UserEmail.account_confirmation_email(user)
|
||||
|
||||
|
|
Loading…
Reference in a new issue