54 lines
1.7 KiB
Elixir
54 lines
1.7 KiB
Elixir
|
defmodule Pleroma.Web.PushTest do
|
||
|
use Pleroma.DataCase
|
||
|
|
||
|
alias Pleroma.Web.Push
|
||
|
|
||
|
import Pleroma.Factory
|
||
|
|
||
|
test "renders body for create activity" do
|
||
|
assert Push.format_body(
|
||
|
%{
|
||
|
activity: %{
|
||
|
data: %{
|
||
|
"type" => "Create",
|
||
|
"object" => %{
|
||
|
"content" =>
|
||
|
"<span>Lorem ipsum dolor sit amet</span>, consectetur :bear: adipiscing elit. Fusce sagittis finibus turpis."
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
%{nickname: "Bob"}
|
||
|
) ==
|
||
|
"@Bob: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis fini..."
|
||
|
end
|
||
|
|
||
|
test "renders body for follow activity" do
|
||
|
assert Push.format_body(%{activity: %{data: %{"type" => "Follow"}}}, %{nickname: "Bob"}) ==
|
||
|
"@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 :bear: adipiscing elit. Fusce sagittis finibus turpis."
|
||
|
}
|
||
|
})
|
||
|
|
||
|
note_activity = insert(:note_activity, %{note: note})
|
||
|
announce_activity = insert(:announce_activity, %{user: user, note_activity: note_activity})
|
||
|
|
||
|
assert Push.format_body(%{activity: announce_activity}, user) ==
|
||
|
"@#{user.nickname} repeated: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis fini..."
|
||
|
end
|
||
|
|
||
|
test "renders body for like activity" do
|
||
|
assert Push.format_body(%{activity: %{data: %{"type" => "Like"}}}, %{nickname: "Bob"}) ==
|
||
|
"@Bob has favorited your post"
|
||
|
end
|
||
|
end
|