summaryrefslogtreecommitdiff
path: root/test/web/mastodon_api/controllers/list_controller_test.exs
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2019-12-19 17:23:27 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2019-12-19 17:23:27 +0300
commit455e072d27f28c39050b2dc24b346a8f2ef30f90 (patch)
tree37906a1131bf70777316e24af19382f053f8c0c1 /test/web/mastodon_api/controllers/list_controller_test.exs
parent7973cbdb9fa9120306cb5a265a477eeccd315ee6 (diff)
downloadpleroma-455e072d27f28c39050b2dc24b346a8f2ef30f90.tar.gz
pleroma-455e072d27f28c39050b2dc24b346a8f2ef30f90.zip
[#2068] Introduced proper OAuth tokens usage to controller tests.
Diffstat (limited to 'test/web/mastodon_api/controllers/list_controller_test.exs')
-rw-r--r--test/web/mastodon_api/controllers/list_controller_test.exs88
1 files changed, 32 insertions, 56 deletions
diff --git a/test/web/mastodon_api/controllers/list_controller_test.exs b/test/web/mastodon_api/controllers/list_controller_test.exs
index 093506309..a6effbb69 100644
--- a/test/web/mastodon_api/controllers/list_controller_test.exs
+++ b/test/web/mastodon_api/controllers/list_controller_test.exs
@@ -9,44 +9,35 @@ defmodule Pleroma.Web.MastodonAPI.ListControllerTest do
import Pleroma.Factory
- test "creating a list", %{conn: conn} do
- user = insert(:user)
+ test "creating a list" do
+ %{conn: conn} = oauth_access(["write:lists"])
- conn =
- conn
- |> assign(:user, user)
- |> post("/api/v1/lists", %{"title" => "cuties"})
+ conn = post(conn, "/api/v1/lists", %{"title" => "cuties"})
assert %{"title" => title} = json_response(conn, 200)
assert title == "cuties"
end
- test "renders error for invalid params", %{conn: conn} do
- user = insert(:user)
+ test "renders error for invalid params" do
+ %{conn: conn} = oauth_access(["write:lists"])
- conn =
- conn
- |> assign(:user, user)
- |> post("/api/v1/lists", %{"title" => nil})
+ conn = post(conn, "/api/v1/lists", %{"title" => nil})
assert %{"error" => "can't be blank"} == json_response(conn, :unprocessable_entity)
end
- test "listing a user's lists", %{conn: conn} do
- user = insert(:user)
+ test "listing a user's lists" do
+ %{conn: conn} = oauth_access(["read:lists", "write:lists"])
conn
- |> assign(:user, user)
|> post("/api/v1/lists", %{"title" => "cuties"})
+ |> json_response(:ok)
conn
- |> assign(:user, user)
|> post("/api/v1/lists", %{"title" => "cofe"})
+ |> json_response(:ok)
- conn =
- conn
- |> assign(:user, user)
- |> get("/api/v1/lists")
+ conn = get(conn, "/api/v1/lists")
assert [
%{"id" => _, "title" => "cofe"},
@@ -54,41 +45,35 @@ defmodule Pleroma.Web.MastodonAPI.ListControllerTest do
] = json_response(conn, :ok)
end
- test "adding users to a list", %{conn: conn} do
- user = insert(:user)
+ test "adding users to a list" do
+ %{user: user, conn: conn} = oauth_access(["write:lists"])
other_user = insert(:user)
{:ok, list} = Pleroma.List.create("name", user)
- conn =
- conn
- |> assign(:user, user)
- |> post("/api/v1/lists/#{list.id}/accounts", %{"account_ids" => [other_user.id]})
+ conn = post(conn, "/api/v1/lists/#{list.id}/accounts", %{"account_ids" => [other_user.id]})
assert %{} == json_response(conn, 200)
%Pleroma.List{following: following} = Pleroma.List.get(list.id, user)
assert following == [other_user.follower_address]
end
- test "removing users from a list", %{conn: conn} do
- user = insert(:user)
+ test "removing users from a list" do
+ %{user: user, conn: conn} = oauth_access(["write:lists"])
other_user = insert(:user)
third_user = insert(:user)
{:ok, list} = Pleroma.List.create("name", user)
{:ok, list} = Pleroma.List.follow(list, other_user)
{:ok, list} = Pleroma.List.follow(list, third_user)
- conn =
- conn
- |> assign(:user, user)
- |> delete("/api/v1/lists/#{list.id}/accounts", %{"account_ids" => [other_user.id]})
+ conn = delete(conn, "/api/v1/lists/#{list.id}/accounts", %{"account_ids" => [other_user.id]})
assert %{} == json_response(conn, 200)
%Pleroma.List{following: following} = Pleroma.List.get(list.id, user)
assert following == [third_user.follower_address]
end
- test "listing users in a list", %{conn: conn} do
- user = insert(:user)
+ test "listing users in a list" do
+ %{user: user, conn: conn} = oauth_access(["read:lists"])
other_user = insert(:user)
{:ok, list} = Pleroma.List.create("name", user)
{:ok, list} = Pleroma.List.follow(list, other_user)
@@ -102,8 +87,8 @@ defmodule Pleroma.Web.MastodonAPI.ListControllerTest do
assert id == to_string(other_user.id)
end
- test "retrieving a list", %{conn: conn} do
- user = insert(:user)
+ test "retrieving a list" do
+ %{user: user, conn: conn} = oauth_access(["read:lists"])
{:ok, list} = Pleroma.List.create("name", user)
conn =
@@ -115,32 +100,26 @@ defmodule Pleroma.Web.MastodonAPI.ListControllerTest do
assert id == to_string(list.id)
end
- test "renders 404 if list is not found", %{conn: conn} do
- user = insert(:user)
+ test "renders 404 if list is not found" do
+ %{conn: conn} = oauth_access(["read:lists"])
- conn =
- conn
- |> assign(:user, user)
- |> get("/api/v1/lists/666")
+ conn = get(conn, "/api/v1/lists/666")
assert %{"error" => "List not found"} = json_response(conn, :not_found)
end
- test "renaming a list", %{conn: conn} do
- user = insert(:user)
+ test "renaming a list" do
+ %{user: user, conn: conn} = oauth_access(["write:lists"])
{:ok, list} = Pleroma.List.create("name", user)
- conn =
- conn
- |> assign(:user, user)
- |> put("/api/v1/lists/#{list.id}", %{"title" => "newname"})
+ conn = put(conn, "/api/v1/lists/#{list.id}", %{"title" => "newname"})
assert %{"title" => name} = json_response(conn, 200)
assert name == "newname"
end
- test "validates title when renaming a list", %{conn: conn} do
- user = insert(:user)
+ test "validates title when renaming a list" do
+ %{user: user, conn: conn} = oauth_access(["write:lists"])
{:ok, list} = Pleroma.List.create("name", user)
conn =
@@ -151,14 +130,11 @@ defmodule Pleroma.Web.MastodonAPI.ListControllerTest do
assert %{"error" => "can't be blank"} == json_response(conn, :unprocessable_entity)
end
- test "deleting a list", %{conn: conn} do
- user = insert(:user)
+ test "deleting a list" do
+ %{user: user, conn: conn} = oauth_access(["write:lists"])
{:ok, list} = Pleroma.List.create("name", user)
- conn =
- conn
- |> assign(:user, user)
- |> delete("/api/v1/lists/#{list.id}")
+ conn = delete(conn, "/api/v1/lists/#{list.id}")
assert %{} = json_response(conn, 200)
assert is_nil(Repo.get(Pleroma.List, list.id))