diff options
author | D Anzorge <d.anzorge@gmail.com> | 2019-09-19 16:09:24 +0200 |
---|---|---|
committer | D Anzorge <d.anzorge@gmail.com> | 2019-09-19 16:49:27 +0200 |
commit | 9aca2cc95d0d8886d35be17e5cdd683004b425d9 (patch) | |
tree | 53e188975831ce9b6de18c00f93841142412f07b | |
parent | 0e6085da106cb966c340fac2d307d9e8e26e91ed (diff) | |
download | pleroma-9aca2cc95d0d8886d35be17e5cdd683004b425d9.tar.gz pleroma-9aca2cc95d0d8886d35be17e5cdd683004b425d9.zip |
Add test for correct AP outbox pagination
-rw-r--r-- | test/web/activity_pub/views/user_view_test.exs | 23 |
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 |