AdminAPI Chat tests: Remove factory.

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.
This commit is contained in:
lain 2020-09-17 13:37:25 +02:00
parent e39ff2616b
commit 5e3c70afa5
2 changed files with 8 additions and 59 deletions

View File

@ -441,58 +441,4 @@ defmodule Pleroma.Factory do
phrase: "cofe" phrase: "cofe"
} }
end 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 end

View File

@ -1513,10 +1513,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
describe "GET /api/pleroma/admin/users/:nickname/chats" do describe "GET /api/pleroma/admin/users/:nickname/chats" do
setup do setup do
user = insert(:user) user = insert(:user)
recipients = insert_list(3, :user)
insert(:chat, user: user) Enum.each(recipients, fn recipient ->
insert(:chat, user: user) CommonAPI.post_chat_message(user, recipient, "yo")
insert(:chat, user: user) end)
%{user: user} %{user: user}
end end
@ -1531,7 +1532,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
describe "GET /api/pleroma/admin/users/:nickname/chats unauthorized" do describe "GET /api/pleroma/admin/users/:nickname/chats unauthorized" do
setup do setup do
user = insert(:user) 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} = oauth_access(["read:chats"])
%{conn: conn, user: user} %{conn: conn, user: user}
end end
@ -1546,7 +1548,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
describe "GET /api/pleroma/admin/users/:nickname/chats unauthenticated" do describe "GET /api/pleroma/admin/users/:nickname/chats unauthenticated" do
setup do setup do
user = insert(:user) user = insert(:user)
insert(:chat, user: user) recipient = insert(:user)
CommonAPI.post_chat_message(user, recipient, "yo")
%{conn: build_conn(), user: user} %{conn: build_conn(), user: user}
end end