fix(notifications): skip the filter check for objects without content
Regex.match? raised on objects without content (for example posts with only attachments), so no notifications were created for them when the recipient had an irreversible filter.
This commit is contained in:
parent
90eb5e4015
commit
21a5d1dca2
3 changed files with 21 additions and 0 deletions
|
|
@ -9,6 +9,7 @@ defmodule Pleroma.NotificationTest do
|
|||
|
||||
alias Pleroma.FollowingRelationship
|
||||
alias Pleroma.Notification
|
||||
alias Pleroma.Object
|
||||
alias Pleroma.Repo
|
||||
alias Pleroma.Tests.ObanHelpers
|
||||
alias Pleroma.User
|
||||
|
|
@ -276,6 +277,22 @@ defmodule Pleroma.NotificationTest do
|
|||
assert {:ok, []} == Notification.create_notifications(status)
|
||||
end
|
||||
|
||||
test "it creates notifications for objects without content when the user has filters" do
|
||||
author = insert(:user)
|
||||
user = insert(:user)
|
||||
insert(:filter, user: user, phrase: "cofe", hide: true)
|
||||
|
||||
{:ok, status} = CommonAPI.post(author, %{status: "hey @#{user.nickname}"})
|
||||
object = Object.normalize(status, fetch: false)
|
||||
|
||||
{:ok, _} =
|
||||
object
|
||||
|> Object.change(%{data: Map.delete(object.data, "content")})
|
||||
|> Object.update_and_set_cache()
|
||||
|
||||
assert {:ok, [_]} = Notification.create_notifications(Pleroma.Activity.get_by_id(status.id))
|
||||
end
|
||||
|
||||
test "it creates notifications if content matches with a not irreversible filter" do
|
||||
user = insert(:user)
|
||||
subscriber = insert(:user)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue