Add limiting to activity pub fetching.
[akkoma] / test / web / activity_pub / activity_pub_test.exs
1 defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
2 use Pleroma.DataCase
3 alias Pleroma.Web.ActivityPub.ActivityPub
4 alias Pleroma.Activity
5 alias Pleroma.Builders.ActivityBuilder
6
7 describe "insertion" do
8 test "inserts a given map into the activity database" do
9 data = %{
10 ok: true
11 }
12
13 {:ok, %Activity{} = activity} = ActivityPub.insert(data)
14 assert activity.data == data
15 end
16 end
17
18 describe "public fetch activities" do
19 test "retrieves public activities" do
20 %{public: public} = ActivityBuilder.public_and_non_public
21
22 activities = ActivityPub.fetch_public_activities
23 assert length(activities) == 1
24 assert Enum.at(activities, 0) == public
25 end
26
27 test "retrieves a maximum of 20 activities" do
28 activities = ActivityBuilder.insert_list(30)
29 last_expected = List.last(activities)
30
31 activities = ActivityPub.fetch_public_activities
32 last = List.last(activities)
33
34 assert length(activities) == 20
35 assert last == last_expected
36 end
37 end
38 end