X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fpleroma%2Fweb%2Fpleroma_api%2Fcontrollers%2Fchat_controller_test.exs;h=1114da242aad153c53d708a102a82b6fdabfaae6;hb=07ea4d73e12c65cf3fd5c194a8eb1f27900ed17f;hp=d0b520fbc7ace55746963321f1c8fbb058d7c438;hpb=100e34b4a1bade7c1a1768a7831a1be726187106;p=akkoma
diff --git a/test/pleroma/web/pleroma_api/controllers/chat_controller_test.exs b/test/pleroma/web/pleroma_api/controllers/chat_controller_test.exs
index d0b520fbc..1114da242 100644
--- a/test/pleroma/web/pleroma_api/controllers/chat_controller_test.exs
+++ b/test/pleroma/web/pleroma_api/controllers/chat_controller_test.exs
@@ -1,5 +1,5 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
+# Copyright © 2017-2021 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
use Pleroma.Web.ConnCase
@@ -106,6 +106,9 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
end
test "it works with an attachment", %{conn: conn, user: user} do
+ clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
+ clear_config([Pleroma.Uploaders.Local, :uploads], "uploads")
+
file = %Plug.Upload{
content_type: "image/jpeg",
path: Path.absname("test/fixtures/image.jpg"),
@@ -304,7 +307,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
end
end
- describe "GET /api/v1/pleroma/chats" do
+ describe "GET /api/v2/pleroma/chats" do
setup do: oauth_access(["read:chats"])
test "it does not return chats with deleted users", %{conn: conn, user: user} do
@@ -316,7 +319,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
result =
conn
- |> get("/api/v1/pleroma/chats")
+ |> get("/api/v2/pleroma/chats")
|> json_response_and_validate_schema(200)
assert length(result) == 0
@@ -329,7 +332,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
result =
conn
- |> get("/api/v1/pleroma/chats")
+ |> get("/api/v2/pleroma/chats")
|> json_response_and_validate_schema(200)
assert length(result) == 1
@@ -338,7 +341,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
result =
conn
- |> get("/api/v1/pleroma/chats")
+ |> get("/api/v2/pleroma/chats")
|> json_response_and_validate_schema(200)
assert length(result) == 0
@@ -351,7 +354,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
result =
conn
- |> get("/api/v1/pleroma/chats")
+ |> get("/api/v2/pleroma/chats")
|> json_response_and_validate_schema(200)
assert length(result) == 1
@@ -360,20 +363,20 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
result =
conn
- |> get("/api/v1/pleroma/chats")
+ |> get("/api/v2/pleroma/chats")
|> json_response_and_validate_schema(200)
assert length(result) == 0
result =
conn
- |> get("/api/v1/pleroma/chats?with_muted=true")
+ |> get("/api/v2/pleroma/chats?with_muted=true")
|> json_response_and_validate_schema(200)
assert length(result) == 1
end
- test "it returns all chats", %{conn: conn, user: user} do
+ test "it paginates chats", %{conn: conn, user: user} do
Enum.each(1..30, fn _ ->
recipient = insert(:user)
{:ok, _} = Chat.get_or_create(user.id, recipient.ap_id)
@@ -381,10 +384,18 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
result =
conn
- |> get("/api/v1/pleroma/chats")
+ |> get("/api/v2/pleroma/chats")
+ |> json_response_and_validate_schema(200)
+
+ assert length(result) == 20
+ last_id = List.last(result)["id"]
+
+ result =
+ conn
+ |> get("/api/v2/pleroma/chats?max_id=#{last_id}")
|> json_response_and_validate_schema(200)
- assert length(result) == 30
+ assert length(result) == 10
end
test "it return a list of chats the current user is participating in, in descending order of updates",
@@ -405,7 +416,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
result =
conn
- |> get("/api/v1/pleroma/chats")
+ |> get("/api/v2/pleroma/chats")
|> json_response_and_validate_schema(200)
ids = Enum.map(result, & &1["id"])
@@ -432,7 +443,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
result =
conn
- |> get("/api/v1/pleroma/chats")
+ |> get("/api/v2/pleroma/chats")
|> json_response_and_validate_schema(200)
account_ids = Enum.map(result, &get_in(&1, ["account", "id"]))