diff options
Diffstat (limited to 'test/web/pleroma_api')
| -rw-r--r-- | test/web/pleroma_api/controllers/emoji_api_controller_test.exs | 5 | ||||
| -rw-r--r-- | test/web/pleroma_api/controllers/pleroma_api_controller_test.exs | 46 | 
2 files changed, 35 insertions, 16 deletions
| diff --git a/test/web/pleroma_api/controllers/emoji_api_controller_test.exs b/test/web/pleroma_api/controllers/emoji_api_controller_test.exs index e1b484dae..6f1ea78ec 100644 --- a/test/web/pleroma_api/controllers/emoji_api_controller_test.exs +++ b/test/web/pleroma_api/controllers/emoji_api_controller_test.exs @@ -6,7 +6,6 @@ defmodule Pleroma.Web.PleromaAPI.EmojiAPIControllerTest do    use Pleroma.Web.ConnCase    import Tesla.Mock -    import Pleroma.Factory    @emoji_dir_path Path.join( @@ -14,6 +13,10 @@ defmodule Pleroma.Web.PleromaAPI.EmojiAPIControllerTest do                      "emoji"                    ) +  clear_config([:auth, :enforce_oauth_admin_scope_usage]) do +    Pleroma.Config.put([:auth, :enforce_oauth_admin_scope_usage], false) +  end +    test "shared & non-shared pack information in list_packs is ok" do      conn = build_conn()      resp = conn |> get(emoji_api_path(conn, :list_packs)) |> json_response(200) diff --git a/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs b/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs index 3f7ef13bc..36868db38 100644 --- a/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs +++ b/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs @@ -14,7 +14,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do    import Pleroma.Factory -  test "POST /api/v1/pleroma/statuses/:id/react_with_emoji", %{conn: conn} do +  test "PUT /api/v1/pleroma/statuses/:id/reactions/:emoji", %{conn: conn} do      user = insert(:user)      other_user = insert(:user) @@ -24,13 +24,19 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do        conn        |> assign(:user, other_user)        |> assign(:token, insert(:oauth_token, user: other_user, scopes: ["write:statuses"])) -      |> post("/api/v1/pleroma/statuses/#{activity.id}/react_with_emoji", %{"emoji" => "☕"}) +      |> put("/api/v1/pleroma/statuses/#{activity.id}/reactions/☕") +      |> json_response(200) -    assert %{"id" => id} = json_response(result, 200) +    # We return the status, but this our implementation detail. +    assert %{"id" => id} = result      assert to_string(activity.id) == id + +    assert result["pleroma"]["emoji_reactions"] == [ +             %{"name" => "☕", "count" => 1, "me" => true} +           ]    end -  test "POST /api/v1/pleroma/statuses/:id/unreact_with_emoji", %{conn: conn} do +  test "DELETE /api/v1/pleroma/statuses/:id/reactions/:emoji", %{conn: conn} do      user = insert(:user)      other_user = insert(:user) @@ -41,7 +47,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do        conn        |> assign(:user, other_user)        |> assign(:token, insert(:oauth_token, user: other_user, scopes: ["write:statuses"])) -      |> post("/api/v1/pleroma/statuses/#{activity.id}/unreact_with_emoji", %{"emoji" => "☕"}) +      |> delete("/api/v1/pleroma/statuses/#{activity.id}/reactions/☕")      assert %{"id" => id} = json_response(result, 200)      assert to_string(activity.id) == id @@ -51,33 +57,43 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      assert object.data["reaction_count"] == 0    end -  test "GET /api/v1/pleroma/statuses/:id/emoji_reactions_by", %{conn: conn} do +  test "GET /api/v1/pleroma/statuses/:id/reactions", %{conn: conn} do      user = insert(:user)      other_user = insert(:user) +    doomed_user = insert(:user)      {:ok, activity} = CommonAPI.post(user, %{"status" => "#cofe"}) -    conn = -      conn -      |> assign(:user, user) -      |> assign(:token, insert(:oauth_token, user: user, scopes: ["read:statuses"])) -      result =        conn -      |> get("/api/v1/pleroma/statuses/#{activity.id}/emoji_reactions_by") +      |> get("/api/v1/pleroma/statuses/#{activity.id}/reactions")        |> json_response(200) -    assert result == %{} +    assert result == []      {:ok, _, _} = CommonAPI.react_with_emoji(activity.id, other_user, "🎅") +    {:ok, _, _} = CommonAPI.react_with_emoji(activity.id, doomed_user, "🎅") + +    User.perform(:delete, doomed_user)      result =        conn -      |> get("/api/v1/pleroma/statuses/#{activity.id}/emoji_reactions_by") +      |> get("/api/v1/pleroma/statuses/#{activity.id}/reactions")        |> json_response(200) -    [represented_user] = result["🎅"] +    [%{"name" => "🎅", "count" => 1, "accounts" => [represented_user], "me" => false}] = result +      assert represented_user["id"] == other_user.id + +    result = +      conn +      |> assign(:user, other_user) +      |> assign(:token, insert(:oauth_token, user: other_user, scopes: ["read:statuses"])) +      |> get("/api/v1/pleroma/statuses/#{activity.id}/reactions") +      |> json_response(200) + +    assert [%{"name" => "🎅", "count" => 1, "accounts" => [_represented_user], "me" => true}] = +             result    end    test "/api/v1/pleroma/conversations/:id" do | 
