remove all endpoints marked as deprecated (#91)
[akkoma] / test / pleroma / web / pleroma_api / controllers / chat_controller_test.exs
index 372613b8bdeb1e9b8d160f4aab37fcf012c9c96c..1114da242aad153c53d708a102a82b6fdabfaae6 100644 (file)
@@ -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"]))