diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/web/api_spec/account_operation_test.exs | 24 | ||||
| -rw-r--r-- | test/web/mastodon_api/controllers/account_controller_test.exs | 14 | 
2 files changed, 33 insertions, 5 deletions
diff --git a/test/web/api_spec/account_operation_test.exs b/test/web/api_spec/account_operation_test.exs index a54059074..58a38d8af 100644 --- a/test/web/api_spec/account_operation_test.exs +++ b/test/web/api_spec/account_operation_test.exs @@ -9,6 +9,7 @@ defmodule Pleroma.Web.ApiSpec.AccountOperationTest do    alias Pleroma.Web.ApiSpec.Schemas.Account    alias Pleroma.Web.ApiSpec.Schemas.AccountCreateRequest    alias Pleroma.Web.ApiSpec.Schemas.AccountCreateResponse +  alias Pleroma.Web.ApiSpec.Schemas.AccountRelationshipsResponse    alias Pleroma.Web.ApiSpec.Schemas.AccountUpdateCredentialsRequest    import OpenApiSpex.TestAssertions @@ -84,4 +85,27 @@ defmodule Pleroma.Web.ApiSpec.AccountOperationTest do      assert_schema(json, "Account", api_spec)    end + +  test "AccountRelationshipsResponse example matches schema" do +    api_spec = ApiSpec.spec() +    schema = AccountRelationshipsResponse.schema() +    assert_schema(schema.example, "AccountRelationshipsResponse", api_spec) +  end + +  test "/api/v1/accounts/relationships produces AccountRelationshipsResponse", %{ +    conn: conn +  } do +    token = insert(:oauth_token, scopes: ["read", "write"]) +    other_user = insert(:user) +    {:ok, _user} = Pleroma.User.follow(token.user, other_user) +    api_spec = ApiSpec.spec() + +    assert [relationship] = +             conn +             |> put_req_header("authorization", "Bearer " <> token.token) +             |> get("/api/v1/accounts/relationships?id=#{other_user.id}") +             |> json_response(:ok) + +    assert_schema([relationship], "AccountRelationshipsResponse", api_spec) +  end  end diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index 6fe46af3c..060a7c1cd 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -1062,14 +1062,18 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      setup do: oauth_access(["read:follows"])      test "returns the relationships for the current user", %{user: user, conn: conn} do -      other_user = insert(:user) +      %{id: other_user_id} = other_user = insert(:user)        {:ok, _user} = User.follow(user, other_user) -      conn = get(conn, "/api/v1/accounts/relationships", %{"id" => [other_user.id]}) - -      assert [relationship] = json_response(conn, 200) +      assert [%{"id" => ^other_user_id}] = +               conn +               |> get("/api/v1/accounts/relationships?id=#{other_user.id}") +               |> json_response(200) -      assert to_string(other_user.id) == relationship["id"] +      assert [%{"id" => ^other_user_id}] = +               conn +               |> get("/api/v1/accounts/relationships?id[]=#{other_user.id}") +               |> json_response(200)      end      test "returns an empty list on a bad request", %{conn: conn} do  | 
