+
+ test "retrieves a maximum of 20 activities" do
+ activities = ActivityBuilder.insert_list(30)
+ last_expected = List.last(activities)
+
+ activities = ActivityPub.fetch_public_activities
+ last = List.last(activities)
+
+ assert length(activities) == 20
+ assert last == last_expected
+ end
+
+ test "retrieves ids starting from a since_id" do
+ activities = ActivityBuilder.insert_list(30)
+ later_activities = ActivityBuilder.insert_list(10)
+ since_id = List.last(activities).id
+ last_expected = List.last(later_activities)
+
+ activities = ActivityPub.fetch_public_activities(%{"since_id" => since_id})
+ last = List.last(activities)
+
+ assert length(activities) == 10
+ assert last == last_expected
+ end
+ end
+
+ describe "uploading files" do
+ test "copies the file to the configured folder" do
+ file = %Plug.Upload{content_type: "image/jpg", path: Path.absname("test/fixtures/image.jpg"), filename: "an_image.jpg"}
+
+ {:ok, %Object{} = object} = ActivityPub.upload(file)
+ assert object.data["name"] == "an_image.jpg"
+ end