d220f91c38c7efbd40efd23d2cb367fc55293578
[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
19 describe "fetch activities for recipients" do
20 test "retrieve the activities for certain recipients" do
21 {:ok, activity_one} = ActivityBuilder.insert(%{"to" => ["someone"]})
22 {:ok, activity_two} = ActivityBuilder.insert(%{"to" => ["someone_else"]})
23 {:ok, _activity_three} = ActivityBuilder.insert(%{"to" => ["noone"]})
24
25 activities = ActivityPub.fetch_activities(["someone", "someone_else"])
26 assert length(activities) == 2
27 assert activities == [activity_one, activity_two]
28 end
29 end
30
31 describe "public fetch activities" do
32 test "retrieves public activities" do
33 %{public: public} = ActivityBuilder.public_and_non_public
34
35 activities = ActivityPub.fetch_public_activities
36 assert length(activities) == 1
37 assert Enum.at(activities, 0) == public
38 end
39
40 test "retrieves a maximum of 20 activities" do
41 activities = ActivityBuilder.insert_list(30)
42 last_expected = List.last(activities)
43
44 activities = ActivityPub.fetch_public_activities
45 last = List.last(activities)
46
47 assert length(activities) == 20
48 assert last == last_expected
49 end
50
51 test "retrieves ids starting from a since_id" do
52 activities = ActivityBuilder.insert_list(30)
53 later_activities = ActivityBuilder.insert_list(10)
54 since_id = List.last(activities).id
55 last_expected = List.last(later_activities)
56
57 activities = ActivityPub.fetch_public_activities(%{"since_id" => since_id})
58 last = List.last(activities)
59
60 assert length(activities) == 10
61 assert last == last_expected
62 end
63 end
64 end