Merge branch 'copyright-fun' into 'develop'
[akkoma] / test / mix / tasks / pleroma / user_test.exs
index b8c423c48455590765345bbc15faac0d68c441f7..2b52322835dc9b9e684b82829b703426ed181c5d 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Mix.Tasks.Pleroma.UserTest do
@@ -36,7 +36,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do
       unsaved = build(:user)
 
       # prepare to answer yes
-      send(self(), {:mix_shell_input, :yes?, true})
+      send(self(), {:mix_shell_input, :prompt, "Y"})
 
       Mix.Tasks.Pleroma.User.run([
         "new",
@@ -55,7 +55,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do
       assert_received {:mix_shell, :info, [message]}
       assert message =~ "user will be created"
 
-      assert_received {:mix_shell, :yes?, [message]}
+      assert_received {:mix_shell, :prompt, [message]}
       assert message =~ "Continue"
 
       assert_received {:mix_shell, :info, [message]}
@@ -73,14 +73,14 @@ defmodule Mix.Tasks.Pleroma.UserTest do
       unsaved = build(:user)
 
       # prepare to answer no
-      send(self(), {:mix_shell_input, :yes?, false})
+      send(self(), {:mix_shell_input, :prompt, "N"})
 
       Mix.Tasks.Pleroma.User.run(["new", unsaved.nickname, unsaved.email])
 
       assert_received {:mix_shell, :info, [message]}
       assert message =~ "user will be created"
 
-      assert_received {:mix_shell, :yes?, [message]}
+      assert_received {:mix_shell, :prompt, [message]}
       assert message =~ "Continue"
 
       assert_received {:mix_shell, :info, [message]}
@@ -114,7 +114,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do
 
       {:ok, post} = CommonAPI.post(user, %{status: "uguu"})
       {:ok, post2} = CommonAPI.post(user2, %{status: "test"})
-      obj = Object.normalize(post2)
+      obj = Object.normalize(post2, fetch: false)
 
       {:ok, like_object, meta} = Pleroma.Web.ActivityPub.Builder.like(user, obj)
 
@@ -130,7 +130,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do
 
       clear_config([:instance, :federating], true)
 
-      object = Object.normalize(post)
+      object = Object.normalize(post, fetch: false)
       Object.prune(object)
 
       with_mock Pleroma.Web.Federator,
@@ -238,7 +238,7 @@ defmodule Mix.Tasks.Pleroma.UserTest 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/
@@ -248,14 +248,19 @@ defmodule Mix.Tasks.Pleroma.UserTest do
 
       user = User.get_cached_by_nickname(user.nickname)
       assert user.is_moderator
-      assert user.locked
+      assert user.is_locked
       assert user.is_admin
-      refute user.confirmation_pending
+      assert user.is_confirmed
     end
 
     test "All statuses unset" do
       user =
-        insert(:user, locked: true, is_moderator: true, is_admin: true, confirmation_pending: true)
+        insert(:user,
+          is_locked: true,
+          is_moderator: true,
+          is_admin: true,
+          is_confirmed: false
+        )
 
       Mix.Tasks.Pleroma.User.run([
         "set",
@@ -270,7 +275,7 @@ defmodule Mix.Tasks.Pleroma.UserTest 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/
@@ -280,9 +285,9 @@ defmodule Mix.Tasks.Pleroma.UserTest do
 
       user = User.get_cached_by_nickname(user.nickname)
       refute user.is_moderator
-      refute user.locked
+      refute user.is_locked
       refute user.is_admin
-      assert user.confirmation_pending
+      refute user.is_confirmed
     end
 
     test "no user to set status" do
@@ -431,13 +436,6 @@ defmodule Mix.Tasks.Pleroma.UserTest do
       assert_received {:mix_shell, :info, [message]}
       assert message =~ "Invite for token #{invite.token} was revoked."
     end
-
-    test "it prints an error message when invite is not exist" do
-      Mix.Tasks.Pleroma.User.run(["revoke_invite", "foo"])
-
-      assert_received {:mix_shell, :error, [message]}
-      assert message =~ "No invite found"
-    end
   end
 
   describe "running delete_activities" do
@@ -457,34 +455,34 @@ defmodule Mix.Tasks.Pleroma.UserTest do
     end
   end
 
-  describe "running toggle_confirmed" 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(["toggle_confirmed", nickname])
+      assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname])
       assert_received {:mix_shell, :info, [message]}
-      assert message == "#{nickname} needs confirmation."
+      assert message == "#{nickname} doesn't need confirmation."
 
       user = Repo.get(User, id)
-      assert user.confirmation_pending
-      assert user.confirmation_token
+      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(["toggle_confirmed", nickname])
+      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 "it prints an error message when user is not exist" do
-      Mix.Tasks.Pleroma.User.run(["toggle_confirmed", "foo"])
+      Mix.Tasks.Pleroma.User.run(["confirm", "foo"])
 
       assert_received {:mix_shell, :error, [message]}
       assert message =~ "No local user"
@@ -498,7 +496,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do
       moot = insert(:user, nickname: "moot")
       kawen = insert(:user, nickname: "kawen", name: "fediverse expert moon")
 
-      {:ok, user} = User.follow(user, moon)
+      {:ok, user, moon} = User.follow(user, moon)
 
       assert [moon.id, kawen.id] == User.Search.search("moon") |> Enum.map(& &1.id)
 
@@ -574,29 +572,29 @@ defmodule Mix.Tasks.Pleroma.UserTest 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"])
 
@@ -605,10 +603,10 @@ defmodule Mix.Tasks.Pleroma.UserTest 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