summaryrefslogtreecommitdiff
path: root/test/web/mastodon_api/controllers/marker_controller_test.exs
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-10-17 13:12:39 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2020-10-17 13:12:39 +0300
commit049ece1ef38f1aeb656a88ed1d15bf3d4a364e01 (patch)
tree16d4a05e533685e8b8385f886e58addb05a90d7d /test/web/mastodon_api/controllers/marker_controller_test.exs
parent2498e569f12694439b6f99d0730f6fb36301c454 (diff)
parent023f726d7f497705d766adee8874b94efb08a0aa (diff)
downloadpleroma-049ece1ef38f1aeb656a88ed1d15bf3d4a364e01.tar.gz
pleroma-049ece1ef38f1aeb656a88ed1d15bf3d4a364e01.zip
Merge remote-tracking branch 'remotes/origin/develop' into ostatus-controller-no-auth-check-on-non-federating-instances
# Conflicts: # lib/pleroma/web/feed/user_controller.ex # lib/pleroma/web/o_status/o_status_controller.ex # lib/pleroma/web/router.ex # lib/pleroma/web/static_fe/static_fe_controller.ex
Diffstat (limited to 'test/web/mastodon_api/controllers/marker_controller_test.exs')
-rw-r--r--test/web/mastodon_api/controllers/marker_controller_test.exs131
1 files changed, 0 insertions, 131 deletions
diff --git a/test/web/mastodon_api/controllers/marker_controller_test.exs b/test/web/mastodon_api/controllers/marker_controller_test.exs
deleted file mode 100644
index 9f0481120..000000000
--- a/test/web/mastodon_api/controllers/marker_controller_test.exs
+++ /dev/null
@@ -1,131 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Web.MastodonAPI.MarkerControllerTest do
- use Pleroma.Web.ConnCase
-
- import Pleroma.Factory
-
- describe "GET /api/v1/markers" do
- test "gets markers with correct scopes", %{conn: conn} do
- user = insert(:user)
- token = insert(:oauth_token, user: user, scopes: ["read:statuses"])
- insert_list(7, :notification, user: user, activity: insert(:note_activity))
-
- {:ok, %{"notifications" => marker}} =
- Pleroma.Marker.upsert(
- user,
- %{"notifications" => %{"last_read_id" => "69420"}}
- )
-
- response =
- conn
- |> assign(:user, user)
- |> assign(:token, token)
- |> get("/api/v1/markers?timeline[]=notifications")
- |> json_response_and_validate_schema(200)
-
- assert response == %{
- "notifications" => %{
- "last_read_id" => "69420",
- "updated_at" => NaiveDateTime.to_iso8601(marker.updated_at),
- "version" => 0,
- "pleroma" => %{"unread_count" => 7}
- }
- }
- end
-
- test "gets markers with missed scopes", %{conn: conn} do
- user = insert(:user)
- token = insert(:oauth_token, user: user, scopes: [])
-
- Pleroma.Marker.upsert(user, %{"notifications" => %{"last_read_id" => "69420"}})
-
- response =
- conn
- |> assign(:user, user)
- |> assign(:token, token)
- |> get("/api/v1/markers", %{timeline: ["notifications"]})
- |> json_response_and_validate_schema(403)
-
- assert response == %{"error" => "Insufficient permissions: read:statuses."}
- end
- end
-
- describe "POST /api/v1/markers" do
- test "creates a marker with correct scopes", %{conn: conn} do
- user = insert(:user)
- token = insert(:oauth_token, user: user, scopes: ["write:statuses"])
-
- response =
- conn
- |> assign(:user, user)
- |> assign(:token, token)
- |> put_req_header("content-type", "application/json")
- |> post("/api/v1/markers", %{
- home: %{last_read_id: "777"},
- notifications: %{"last_read_id" => "69420"}
- })
- |> json_response_and_validate_schema(200)
-
- assert %{
- "notifications" => %{
- "last_read_id" => "69420",
- "updated_at" => _,
- "version" => 0,
- "pleroma" => %{"unread_count" => 0}
- }
- } = response
- end
-
- test "updates exist marker", %{conn: conn} do
- user = insert(:user)
- token = insert(:oauth_token, user: user, scopes: ["write:statuses"])
-
- {:ok, %{"notifications" => marker}} =
- Pleroma.Marker.upsert(
- user,
- %{"notifications" => %{"last_read_id" => "69477"}}
- )
-
- response =
- conn
- |> assign(:user, user)
- |> assign(:token, token)
- |> put_req_header("content-type", "application/json")
- |> post("/api/v1/markers", %{
- home: %{last_read_id: "777"},
- notifications: %{"last_read_id" => "69888"}
- })
- |> json_response_and_validate_schema(200)
-
- assert response == %{
- "notifications" => %{
- "last_read_id" => "69888",
- "updated_at" => NaiveDateTime.to_iso8601(marker.updated_at),
- "version" => 0,
- "pleroma" => %{"unread_count" => 0}
- }
- }
- end
-
- test "creates a marker with missed scopes", %{conn: conn} do
- user = insert(:user)
- token = insert(:oauth_token, user: user, scopes: [])
-
- response =
- conn
- |> assign(:user, user)
- |> assign(:token, token)
- |> put_req_header("content-type", "application/json")
- |> post("/api/v1/markers", %{
- home: %{last_read_id: "777"},
- notifications: %{"last_read_id" => "69420"}
- })
- |> json_response_and_validate_schema(403)
-
- assert response == %{"error" => "Insufficient permissions: write:statuses."}
- end
- end
-end