diff options
| author | lain <lain@soykaf.club> | 2020-04-17 13:04:46 +0200 | 
|---|---|---|
| committer | lain <lain@soykaf.club> | 2020-04-17 13:04:46 +0200 | 
| commit | d45ae6485811189e98f774ecdb46f0ccdfa8b2b3 (patch) | |
| tree | 9ddce29b7d55867ebf0cfdbdc956c01b4071211a /test/web/pleroma_api/controllers | |
| parent | f8c3ae7a627817789776f11497041445bb273c19 (diff) | |
| download | pleroma-d45ae6485811189e98f774ecdb46f0ccdfa8b2b3.tar.gz pleroma-d45ae6485811189e98f774ecdb46f0ccdfa8b2b3.zip  | |
ChatController: Use OAuth scopes.
Diffstat (limited to 'test/web/pleroma_api/controllers')
| -rw-r--r-- | test/web/pleroma_api/controllers/chat_controller_test.exs | 41 | 
1 files changed, 20 insertions, 21 deletions
diff --git a/test/web/pleroma_api/controllers/chat_controller_test.exs b/test/web/pleroma_api/controllers/chat_controller_test.exs index f30fd6615..0750c7273 100644 --- a/test/web/pleroma_api/controllers/chat_controller_test.exs +++ b/test/web/pleroma_api/controllers/chat_controller_test.exs @@ -10,15 +10,15 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do    import Pleroma.Factory    describe "POST /api/v1/pleroma/chats/:id/messages" do -    test "it posts a message to the chat", %{conn: conn} do -      user = insert(:user) +    setup do: oauth_access(["write:statuses"]) + +    test "it posts a message to the chat", %{conn: conn, user: user} do        other_user = insert(:user)        {:ok, chat} = Chat.get_or_create(user.id, other_user.ap_id)        result =          conn -        |> assign(:user, user)          |> post("/api/v1/pleroma/chats/#{chat.id}/messages", %{"content" => "Hallo!!"})          |> json_response(200) @@ -28,8 +28,9 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do    end    describe "GET /api/v1/pleroma/chats/:id/messages" do -    test "it paginates", %{conn: conn} do -      user = insert(:user) +    setup do: oauth_access(["read:statuses"]) + +    test "it paginates", %{conn: conn, user: user} do        recipient = insert(:user)        Enum.each(1..30, fn _ -> @@ -40,7 +41,6 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do        result =          conn -        |> assign(:user, user)          |> get("/api/v1/pleroma/chats/#{chat.id}/messages")          |> json_response(200) @@ -48,17 +48,13 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do        result =          conn -        |> assign(:user, user)          |> get("/api/v1/pleroma/chats/#{chat.id}/messages", %{"max_id" => List.last(result)["id"]})          |> json_response(200)        assert length(result) == 10      end -    # TODO -    # - Test the case where it's not the user's chat -    test "it returns the messages for a given chat", %{conn: conn} do -      user = insert(:user) +    test "it returns the messages for a given chat", %{conn: conn, user: user} do        other_user = insert(:user)        third_user = insert(:user) @@ -71,7 +67,6 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do        result =          conn -        |> assign(:user, user)          |> get("/api/v1/pleroma/chats/#{chat.id}/messages")          |> json_response(200) @@ -81,17 +76,25 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do        end)        assert length(result) == 3 + +      # Trying to get the chat of a different user +      result = +        conn +        |> assign(:user, other_user) +        |> get("/api/v1/pleroma/chats/#{chat.id}/messages") + +      assert result |> json_response(404)      end    end    describe "POST /api/v1/pleroma/chats/by-ap-id/:id" do +    setup do: oauth_access(["write:statuses"]) +      test "it creates or returns a chat", %{conn: conn} do -      user = insert(:user)        other_user = insert(:user)        result =          conn -        |> assign(:user, user)          |> post("/api/v1/pleroma/chats/by-ap-id/#{URI.encode_www_form(other_user.ap_id)}")          |> json_response(200) @@ -100,9 +103,9 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do    end    describe "GET /api/v1/pleroma/chats" do -    test "it paginates", %{conn: conn} do -      user = insert(:user) +    setup do: oauth_access(["read:statuses"]) +    test "it paginates", %{conn: conn, user: user} do        Enum.each(1..30, fn _ ->          recipient = insert(:user)          {:ok, _} = Chat.get_or_create(user.id, recipient.ap_id) @@ -110,7 +113,6 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do        result =          conn -        |> assign(:user, user)          |> get("/api/v1/pleroma/chats")          |> json_response(200) @@ -118,7 +120,6 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do        result =          conn -        |> assign(:user, user)          |> get("/api/v1/pleroma/chats", %{max_id: List.last(result)["id"]})          |> json_response(200) @@ -126,8 +127,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do      end      test "it return a list of chats the current user is participating in, in descending order of updates", -         %{conn: conn} do -      user = insert(:user) +         %{conn: conn, user: user} do        har = insert(:user)        jafnhar = insert(:user)        tridi = insert(:user) @@ -144,7 +144,6 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do        result =          conn -        |> assign(:user, user)          |> get("/api/v1/pleroma/chats")          |> json_response(200)  | 
