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 @@ def filter_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 @@ test "excludes reblogs by default", %{conn: conn, user: user} 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 @@ test "renders user's chats", %{conn: conn, user: user} 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 @@ test "returns 403", %{conn: conn, user: user} 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