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
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
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
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