1
0
Fork 0
mirror of https://git.pleroma.social/pleroma/pleroma.git synced 2026-02-15 17:16:57 +00:00
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
nicole mikołajczyk 2026-02-01 01:30:40 +01:00
parent b45dd74e32
commit cc8f708dfc
3 changed files with 48 additions and 1 deletions

View file

@ -9,6 +9,7 @@ defmodule Pleroma.Web.ApiSpec.PleromaAccountOperation do
alias Pleroma.Web.ApiSpec.Schemas.AccountRelationship
alias Pleroma.Web.ApiSpec.Schemas.ApiError
alias Pleroma.Web.ApiSpec.Schemas.FlakeID
alias Pleroma.Web.ApiSpec.Schemas.VisibilityScope
alias Pleroma.Web.ApiSpec.StatusOperation
import Pleroma.Web.ApiSpec.Helpers

View file

@ -33,7 +33,7 @@ defmodule Pleroma.Web.PleromaAPI.EventView do
}
end
def render("index.json", %{activities: activities}) do
def render("index.ics", %{activities: activities}) do
%ICalendar{events: [activities |> Enum.map(&activity_to_ics/1)]}
end

View file

@ -334,4 +334,50 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do
|> json_response_and_validate_schema(:ok)
end
end
describe "account events ics feed" do
test "returns ics of given user's visible events" do
%{user: user, conn: conn} = oauth_access(["read:statuses"])
other_user = insert(:user)
{:ok, _activity} =
CommonAPI.event(other_user, %{
name: "test event 1",
status: "",
start_time: DateTime.from_iso8601("2023-01-01T01:00:00.000Z") |> elem(1)
})
{:ok, _activity} =
CommonAPI.event(user, %{
name: "test event 2",
status: "",
start_time: DateTime.from_iso8601("2023-01-01T01:00:00.000Z") |> elem(1)
})
{:ok, _activity} =
CommonAPI.event(other_user, %{
name: "test event 3",
status: "",
start_time: DateTime.from_iso8601("2023-01-01T01:00:00.000Z") |> elem(1)
})
{:ok, _activity} =
CommonAPI.event(other_user, %{
name: "test event 4",
status: "",
start_time: DateTime.from_iso8601("2023-01-01T01:00:00.000Z") |> elem(1),
visibility: "private"
})
conn = get(conn, "/api/v1/pleroma/accounts/#{other_user.id}/events_ics")
assert conn.status == 200
assert conn.resp_body =~ "BEGIN:VCALENDAR"
assert conn.resp_body =~ "SUMMARY:test event 1"
assert conn.resp_body =~ "SUMMARY:test event 3"
refute conn.resp_body =~ "SUMMARY:test event 2"
refute conn.resp_body =~ "SUMMARY:test event 4"
end
end
end