forked from AkkomaGang/akkoma
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:
parent
e39ff2616b
commit
5e3c70afa5
2 changed files with 8 additions and 59 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue