Provide pleroma.user mix task for both activate and deactivate
This commit is contained in:
parent
fe63b48c8f
commit
5e8da27e14
|
@ -9,7 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **Breaking**: Changed `mix pleroma.user toggle_confirmed` to `mix pleroma.user confirm`
|
- **Breaking**: Changed `mix pleroma.user toggle_confirmed` to `mix pleroma.user confirm`
|
||||||
- **Breaking**: Changed `mix pleroma.user toggle_activated` to `mix pleroma.user activate`
|
- **Breaking**: Changed `mix pleroma.user toggle_activated` to `mix pleroma.user activate/deactivate`
|
||||||
- **Breaking**: AdminAPI changed User field `confirmation_pending` to `is_confirmed`
|
- **Breaking**: AdminAPI changed User field `confirmation_pending` to `is_confirmed`
|
||||||
- **Breaking**: AdminAPI changed User field `approval_pending` to `is_approved`
|
- **Breaking**: AdminAPI changed User field `approval_pending` to `is_approved`
|
||||||
- **Breaking**: AdminAPI changed User field `deactivated` to `is_active`
|
- **Breaking**: AdminAPI changed User field `deactivated` to `is_active`
|
||||||
|
|
|
@ -141,6 +141,24 @@ def run(["reset_mfa", nickname]) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def run(["activate", nickname]) do
|
||||||
|
start_pleroma()
|
||||||
|
|
||||||
|
with %User{} = user <- User.get_cached_by_nickname(nickname),
|
||||||
|
false <- user.is_active do
|
||||||
|
User.set_activation(user, true)
|
||||||
|
:timer.sleep(500)
|
||||||
|
|
||||||
|
shell_info("Successfully activated #{nickname}")
|
||||||
|
else
|
||||||
|
true ->
|
||||||
|
shell_info("User #{nickname} already activated")
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
shell_error("No user #{nickname}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def run(["deactivate", nickname]) do
|
def run(["deactivate", nickname]) do
|
||||||
start_pleroma()
|
start_pleroma()
|
||||||
|
|
||||||
|
|
|
@ -456,6 +456,37 @@ test "it prints an error message when user is not exist" do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "running activate" do
|
||||||
|
test "user is activated" do
|
||||||
|
%{id: id, nickname: nickname} = insert(:user, is_active: true)
|
||||||
|
|
||||||
|
assert :ok = Mix.Tasks.Pleroma.User.run(["activate", nickname])
|
||||||
|
assert_received {:mix_shell, :info, [message]}
|
||||||
|
assert message == "User #{nickname} already activated"
|
||||||
|
|
||||||
|
user = Repo.get(User, id)
|
||||||
|
assert user.is_active
|
||||||
|
end
|
||||||
|
|
||||||
|
test "user is not activated" do
|
||||||
|
%{id: id, nickname: nickname} = insert(:user, is_active: false)
|
||||||
|
|
||||||
|
assert :ok = Mix.Tasks.Pleroma.User.run(["activate", nickname])
|
||||||
|
assert_received {:mix_shell, :info, [message]}
|
||||||
|
assert message == "Successfully activated #{nickname}"
|
||||||
|
|
||||||
|
user = Repo.get(User, id)
|
||||||
|
assert user.is_active
|
||||||
|
end
|
||||||
|
|
||||||
|
test "it prints an error message when user is not exist" do
|
||||||
|
Mix.Tasks.Pleroma.User.run(["activate", "foo"])
|
||||||
|
|
||||||
|
assert_received {:mix_shell, :error, [message]}
|
||||||
|
assert message =~ "No user"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "search" do
|
describe "search" do
|
||||||
test "it returns users matching" do
|
test "it returns users matching" do
|
||||||
user = insert(:user)
|
user = insert(:user)
|
||||||
|
|
Loading…
Reference in a new issue