nulla/test/nulla_web/controllers/outbox_controller_test.exs
2025-06-29 14:59:33 +02:00

42 lines
1.3 KiB
Elixir

defmodule NullaWeb.OutboxControllerTest do
use NullaWeb.ConnCase
import Nulla.Fixtures.Data
setup do
create_data()
:ok
end
describe "GET /users/username/outbox" do
test "returns ActivityPub JSON of outbox", %{conn: conn} do
conn =
conn
|> get(~p"/users/test/outbox")
assert response = json_response(conn, 200)
assert is_binary(response["@context"])
assert response["id"] == "http://localhost/users/test/outbox"
assert response["type"] == "OrderedCollection"
assert response["totalItems"] == 1
assert response["first"] == "http://localhost/users/test/outbox?page=true"
assert response["last"] == "http://localhost/users/test/outbox?min_id=0&page=true"
end
test "returns ActivityPub JSON of outbox with params", %{conn: conn} do
conn =
conn
|> get(~p"/users/test/outbox?page=true")
assert response = json_response(conn, 200)
assert is_list(response["@context"])
assert response["id"] == "http://localhost/users/test/outbox?page=true"
assert response["type"] == "OrderedCollectionPage"
assert is_binary(response["next"])
assert is_binary(response["prev"])
assert response["partOf"] == "http://localhost/users/test/outbox"
assert Enum.any?(response["orderedItems"])
end
end
end