summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorD Anzorge <d.anzorge@gmail.com>2019-09-19 16:09:24 +0200
committerD Anzorge <d.anzorge@gmail.com>2019-09-19 16:49:27 +0200
commit9aca2cc95d0d8886d35be17e5cdd683004b425d9 (patch)
tree53e188975831ce9b6de18c00f93841142412f07b
parent0e6085da106cb966c340fac2d307d9e8e26e91ed (diff)
downloadpleroma-9aca2cc95d0d8886d35be17e5cdd683004b425d9.tar.gz
pleroma-9aca2cc95d0d8886d35be17e5cdd683004b425d9.zip
Add test for correct AP outbox pagination
-rw-r--r--test/web/activity_pub/views/user_view_test.exs23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/web/activity_pub/views/user_view_test.exs b/test/web/activity_pub/views/user_view_test.exs
index 2b4a04afd..eda95e3ea 100644
--- a/test/web/activity_pub/views/user_view_test.exs
+++ b/test/web/activity_pub/views/user_view_test.exs
@@ -142,4 +142,27 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do
assert %{"totalItems" => 1} = UserView.render("following.json", %{user: user})
end
end
+
+ test "outbox paginates correctly" do
+ user = insert(:user)
+
+ posts =
+ for i <- 0..25 do
+ {:ok, activity} = CommonAPI.post(user, %{"status" => "post #{i}"})
+ activity
+ end
+
+ # outbox sorts chronologically, newest first, with ten per page
+ posts = Enum.reverse(posts)
+
+ %{"first" => %{"next" => next_url}} =
+ UserView.render("outbox.json", %{user: user, max_id: nil})
+
+ next_id = Enum.at(posts, 9).id
+ assert next_url =~ next_id
+
+ %{"next" => next_url} = UserView.render("outbox.json", %{user: user, max_id: next_id})
+ next_id = Enum.at(posts, 19).id
+ assert next_url =~ next_id
+ end
end