|
|
@@ -5,6 +5,8 @@ |
|
|
|
defmodule Pleroma.Web.Push.ImplTest do |
|
|
|
use Pleroma.DataCase |
|
|
|
|
|
|
|
alias Pleroma.Object |
|
|
|
alias Pleroma.Web.CommonAPI |
|
|
|
alias Pleroma.Web.Push.Impl |
|
|
|
alias Pleroma.Web.Push.Subscription |
|
|
|
|
|
|
@@ -52,16 +54,12 @@ defmodule Pleroma.Web.Push.ImplTest do |
|
|
|
data: %{alerts: %{"follow" => true, "mention" => false}} |
|
|
|
) |
|
|
|
|
|
|
|
{:ok, activity} = CommonAPI.post(user, %{"status" => "<Lorem ipsum dolor sit amet."}) |
|
|
|
|
|
|
|
notif = |
|
|
|
insert(:notification, |
|
|
|
user: user, |
|
|
|
activity: %Pleroma.Activity{ |
|
|
|
data: %{ |
|
|
|
"type" => "Create", |
|
|
|
"actor" => user.ap_id, |
|
|
|
"object" => %{"content" => "<Lorem ipsum dolor sit amet."} |
|
|
|
} |
|
|
|
} |
|
|
|
activity: activity |
|
|
|
) |
|
|
|
|
|
|
|
assert Impl.perform(notif) == [:ok, :ok] |
|
|
@@ -100,48 +98,65 @@ defmodule Pleroma.Web.Push.ImplTest do |
|
|
|
end |
|
|
|
|
|
|
|
test "renders body for create activity" do |
|
|
|
user = insert(:user, nickname: "Bob") |
|
|
|
|
|
|
|
{:ok, activity} = |
|
|
|
CommonAPI.post(user, %{ |
|
|
|
"status" => |
|
|
|
"<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis." |
|
|
|
}) |
|
|
|
|
|
|
|
object = Object.normalize(activity) |
|
|
|
|
|
|
|
assert Impl.format_body( |
|
|
|
%{ |
|
|
|
activity: %{ |
|
|
|
data: %{ |
|
|
|
"type" => "Create", |
|
|
|
"object" => %{ |
|
|
|
"content" => |
|
|
|
"<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis." |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
activity: activity |
|
|
|
}, |
|
|
|
%{nickname: "Bob"} |
|
|
|
user, |
|
|
|
object |
|
|
|
) == |
|
|
|
"@Bob: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis fini..." |
|
|
|
end |
|
|
|
|
|
|
|
test "renders body for follow activity" do |
|
|
|
assert Impl.format_body(%{activity: %{data: %{"type" => "Follow"}}}, %{nickname: "Bob"}) == |
|
|
|
user = insert(:user, nickname: "Bob") |
|
|
|
other_user = insert(:user) |
|
|
|
{:ok, _, _, activity} = CommonAPI.follow(user, other_user) |
|
|
|
object = Object.normalize(activity) |
|
|
|
|
|
|
|
assert Impl.format_body(%{activity: activity}, user, object) == |
|
|
|
"@Bob has followed you" |
|
|
|
end |
|
|
|
|
|
|
|
test "renders body for announce activity" do |
|
|
|
user = insert(:user) |
|
|
|
|
|
|
|
note = |
|
|
|
insert(:note, %{ |
|
|
|
data: %{ |
|
|
|
"content" => |
|
|
|
"<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis." |
|
|
|
} |
|
|
|
{:ok, activity} = |
|
|
|
CommonAPI.post(user, %{ |
|
|
|
"status" => |
|
|
|
"<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis." |
|
|
|
}) |
|
|
|
|
|
|
|
note_activity = insert(:note_activity, %{note: note}) |
|
|
|
announce_activity = insert(:announce_activity, %{user: user, note_activity: note_activity}) |
|
|
|
{:ok, announce_activity, _} = CommonAPI.repeat(activity.id, user) |
|
|
|
object = Object.normalize(activity) |
|
|
|
|
|
|
|
assert Impl.format_body(%{activity: announce_activity}, user) == |
|
|
|
assert Impl.format_body(%{activity: announce_activity}, user, object) == |
|
|
|
"@#{user.nickname} repeated: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis fini..." |
|
|
|
end |
|
|
|
|
|
|
|
test "renders body for like activity" do |
|
|
|
assert Impl.format_body(%{activity: %{data: %{"type" => "Like"}}}, %{nickname: "Bob"}) == |
|
|
|
user = insert(:user, nickname: "Bob") |
|
|
|
|
|
|
|
{:ok, activity} = |
|
|
|
CommonAPI.post(user, %{ |
|
|
|
"status" => |
|
|
|
"<span>Lorem ipsum dolor sit amet</span>, consectetur :firefox: adipiscing elit. Fusce sagittis finibus turpis." |
|
|
|
}) |
|
|
|
|
|
|
|
{:ok, activity, _} = CommonAPI.favorite(activity.id, user) |
|
|
|
object = Object.normalize(activity) |
|
|
|
|
|
|
|
assert Impl.format_body(%{activity: activity}, user, object) == |
|
|
|
"@Bob has favorited your post" |
|
|
|
end |
|
|
|
end |