AdminAPI Chat tests: Remove factory.
authorlain <lain@soykaf.club>
Thu, 17 Sep 2020 11:37:25 +0000 (13:37 +0200)
committerlain <lain@soykaf.club>
Thu, 17 Sep 2020 11:37:25 +0000 (13:37 +0200)
The factory system doesn't work too well with how the chats are
done. Instead of tempting people to use it, let's rather use the
CommonAPI system for now.

test/support/factory.ex
test/web/admin_api/controllers/admin_api_controller_test.exs

index e59d8324285aaf870b1dec8ea74294e5557bed75..2fdfabbc5a228c0157a418d3ebdfde250c3f28cc 100644 (file)
@@ -441,58 +441,4 @@ defmodule Pleroma.Factory do
       phrase: "cofe"
     }
   end
-
-  def chat_factory(attrs \\ %{}) do
-    user = attrs[:user] || insert(:user)
-    recipient = attrs[:recipient] || insert(:user)
-
-    %Pleroma.Chat{
-      user_id: user.id,
-      recipient: recipient.ap_id
-    }
-  end
-
-  def chat_message_factory(attrs \\ %{}) do
-    text = sequence(:text, &"This is :moominmamma: chat message #{&1}")
-    chat = attrs[:chat] || insert(:chat)
-
-    data = %{
-      "type" => "ChatMessage",
-      "content" => text,
-      "id" => Pleroma.Web.ActivityPub.Utils.generate_object_id(),
-      "actor" => User.get_by_id(chat.user_id).ap_id,
-      "to" => [chat.recipient],
-      "published" => DateTime.utc_now() |> DateTime.to_iso8601()
-    }
-
-    %Pleroma.Object{
-      data: merge_attributes(data, Map.get(attrs, :data, %{}))
-    }
-  end
-
-  def chat_message_activity_factory(attrs \\ %{}) do
-    chat = attrs[:chat] || insert(:chat)
-    chat_message = attrs[:chat_message] || insert(:chat_message, chat: chat)
-
-    data_attrs = attrs[:data_attrs] || %{}
-    attrs = Map.drop(attrs, [:chat, :chat_message, :data_attrs])
-
-    data =
-      %{
-        "id" => Pleroma.Web.ActivityPub.Utils.generate_activity_id(),
-        "type" => "Create",
-        "actor" => chat_message.data["actor"],
-        "to" => chat_message.data["to"],
-        "object" => chat_message.data["id"],
-        "published" => DateTime.utc_now() |> DateTime.to_iso8601()
-      }
-      |> Map.merge(data_attrs)
-
-    %Pleroma.Activity{
-      data: data,
-      actor: data["actor"],
-      recipients: data["to"]
-    }
-    |> Map.merge(attrs)
-  end
 end
index e6ad210a2003f896a842f37a62016be2ccee922d..e4d3512deb0ad163acc007a1e2a222c9ebe70762 100644 (file)
@@ -1513,10 +1513,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
   describe "GET /api/pleroma/admin/users/:nickname/chats" do
     setup do
       user = insert(:user)
+      recipients = insert_list(3, :user)
 
-      insert(:chat, user: user)
-      insert(:chat, user: user)
-      insert(:chat, user: user)
+      Enum.each(recipients, fn recipient ->
+        CommonAPI.post_chat_message(user, recipient, "yo")
+      end)
 
       %{user: user}
     end
@@ -1531,7 +1532,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
   describe "GET /api/pleroma/admin/users/:nickname/chats unauthorized" do
     setup do
       user = insert(:user)
-      insert(:chat, user: user)
+      recipient = insert(:user)
+      CommonAPI.post_chat_message(user, recipient, "yo")
       %{conn: conn} = oauth_access(["read:chats"])
       %{conn: conn, user: user}
     end
@@ -1546,7 +1548,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
   describe "GET /api/pleroma/admin/users/:nickname/chats unauthenticated" do
     setup do
       user = insert(:user)
-      insert(:chat, user: user)
+      recipient = insert(:user)
+      CommonAPI.post_chat_message(user, recipient, "yo")
       %{conn: build_conn(), user: user}
     end