Merge branch 'mix-emoji-task-pack-json' into 'develop'
[akkoma] / test / web / activity_pub / activity_pub_controller_test.exs
index 0f8638a9414248f75d46aa49dd4a9d57d373793f..6a3e48b5e7c93f622b98f59854130b102b84ffb1 100644 (file)
@@ -225,69 +225,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
     end
   end
 
-  describe "/object/:uuid/likes" do
-    setup do
-      like = insert(:like_activity)
-      like_object_ap_id = Object.normalize(like).data["id"]
-
-      uuid =
-        like_object_ap_id
-        |> String.split("/")
-        |> List.last()
-
-      [id: like.data["id"], uuid: uuid]
-    end
-
-    test "it returns the like activities in a collection", %{conn: conn, id: id, uuid: uuid} do
-      result =
-        conn
-        |> put_req_header("accept", "application/activity+json")
-        |> get("/objects/#{uuid}/likes")
-        |> json_response(200)
-
-      assert List.first(result["first"]["orderedItems"])["id"] == id
-      assert result["type"] == "OrderedCollection"
-      assert result["totalItems"] == 1
-      refute result["first"]["next"]
-    end
-
-    test "it does not crash when page number is exceeded total pages", %{conn: conn, uuid: uuid} do
-      result =
-        conn
-        |> put_req_header("accept", "application/activity+json")
-        |> get("/objects/#{uuid}/likes?page=2")
-        |> json_response(200)
-
-      assert result["type"] == "OrderedCollectionPage"
-      assert result["totalItems"] == 1
-      refute result["next"]
-      assert Enum.empty?(result["orderedItems"])
-    end
-
-    test "it contains the next key when likes count is more than 10", %{conn: conn} do
-      note = insert(:note_activity)
-      insert_list(11, :like_activity, note_activity: note)
-
-      uuid =
-        note
-        |> Object.normalize()
-        |> Map.get(:data)
-        |> Map.get("id")
-        |> String.split("/")
-        |> List.last()
-
-      result =
-        conn
-        |> put_req_header("accept", "application/activity+json")
-        |> get("/objects/#{uuid}/likes?page=1")
-        |> json_response(200)
-
-      assert result["totalItems"] == 11
-      assert length(result["orderedItems"]) == 10
-      assert result["next"]
-    end
-  end
-
   describe "/activities/:uuid" do
     test "it returns a json representation of the activity", %{conn: conn} do
       activity = insert(:note_activity)
@@ -479,7 +416,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
         conn
         |> assign(:user, user)
         |> put_req_header("accept", "application/activity+json")
-        |> get("/users/#{user.nickname}/inbox")
+        |> get("/users/#{user.nickname}/inbox?page=true")
 
       assert response(conn, 200) =~ note_object.data["content"]
     end
@@ -567,7 +504,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       conn =
         conn
         |> put_req_header("accept", "application/activity+json")
-        |> get("/users/#{user.nickname}/outbox")
+        |> get("/users/#{user.nickname}/outbox?page=true")
 
       assert response(conn, 200) =~ note_object.data["content"]
     end
@@ -579,7 +516,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       conn =
         conn
         |> put_req_header("accept", "application/activity+json")
-        |> get("/users/#{user.nickname}/outbox")
+        |> get("/users/#{user.nickname}/outbox?page=true")
 
       assert response(conn, 200) =~ announce_activity.data["object"]
     end
@@ -990,5 +927,30 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
 
       assert UserView.render("user.json", %{user: user}) == json_response(conn, 200)
     end
+
+    clear_config([:media_proxy])
+    clear_config([Pleroma.Upload])
+
+    test "uploadMedia", %{conn: conn} do
+      user = insert(:user)
+
+      desc = "Description of the image"
+
+      image = %Plug.Upload{
+        content_type: "image/jpg",
+        path: Path.absname("test/fixtures/image.jpg"),
+        filename: "an_image.jpg"
+      }
+
+      conn =
+        conn
+        |> assign(:user, user)
+        |> post("/api/ap/upload_media", %{"file" => image, "description" => desc})
+
+      assert object = json_response(conn, :created)
+      assert object["name"] == desc
+      assert object["type"] == "Document"
+      assert object["actor"] == user.ap_id
+    end
   end
 end