summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2020-08-27 17:05:53 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2020-08-27 17:05:53 +0000
commit6b01a09a08e14c415ac3bd48ea28c742ee7a3dc8 (patch)
tree8614fce58baf9e72b41fb3b206308f0b2911b121 /test
parent1c05819c9b553e65ed3dcd62b098d820e1de0aea (diff)
parent5ffd20f3b5ea9781d5b17a4a72ba7312cf04936c (diff)
downloadpleroma-6b01a09a08e14c415ac3bd48ea28c742ee7a3dc8.tar.gz
pleroma-6b01a09a08e14c415ac3bd48ea28c742ee7a3dc8.zip
Merge branch '2078-list-fixes' into 'develop'
Resolve "List timeline returns incorrectly assigned Account for replies and repeats" Closes #2070 and #2078 See merge request pleroma/pleroma!2923
Diffstat (limited to 'test')
-rw-r--r--test/web/mastodon_api/controllers/timeline_controller_test.exs40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/web/mastodon_api/controllers/timeline_controller_test.exs b/test/web/mastodon_api/controllers/timeline_controller_test.exs
index 71bac99f7..517cabcff 100644
--- a/test/web/mastodon_api/controllers/timeline_controller_test.exs
+++ b/test/web/mastodon_api/controllers/timeline_controller_test.exs
@@ -333,6 +333,46 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
describe "list" do
setup do: oauth_access(["read:lists"])
+ test "does not contain retoots", %{user: user, conn: conn} do
+ other_user = insert(:user)
+ {:ok, activity_one} = CommonAPI.post(user, %{status: "Marisa is cute."})
+ {:ok, activity_two} = CommonAPI.post(other_user, %{status: "Marisa is stupid."})
+ {:ok, _} = CommonAPI.repeat(activity_one.id, other_user)
+
+ {:ok, list} = Pleroma.List.create("name", user)
+ {:ok, list} = Pleroma.List.follow(list, other_user)
+
+ conn = get(conn, "/api/v1/timelines/list/#{list.id}")
+
+ assert [%{"id" => id}] = json_response_and_validate_schema(conn, :ok)
+
+ assert id == to_string(activity_two.id)
+ end
+
+ test "works with pagination", %{user: user, conn: conn} do
+ other_user = insert(:user)
+ {:ok, list} = Pleroma.List.create("name", user)
+ {:ok, list} = Pleroma.List.follow(list, other_user)
+
+ Enum.each(1..30, fn i ->
+ CommonAPI.post(other_user, %{status: "post number #{i}"})
+ end)
+
+ res =
+ get(conn, "/api/v1/timelines/list/#{list.id}?limit=1")
+ |> json_response_and_validate_schema(:ok)
+
+ assert length(res) == 1
+
+ [first] = res
+
+ res =
+ get(conn, "/api/v1/timelines/list/#{list.id}?max_id=#{first["id"]}&limit=30")
+ |> json_response_and_validate_schema(:ok)
+
+ assert length(res) == 29
+ end
+
test "list timeline", %{user: user, conn: conn} do
other_user = insert(:user)
{:ok, _activity_one} = CommonAPI.post(user, %{status: "Marisa is cute."})