FIX: Liked notifications should not be consolidated across multiple users.
This commit is contained in:
parent
71a69c1976
commit
27e2b6575b
|
@ -89,9 +89,14 @@ class PostActionNotifier
|
|||
user_liked_consolidated_notification =
|
||||
user_notifications
|
||||
.where(
|
||||
"created_at > ? AND notification_type = ?",
|
||||
"
|
||||
created_at > ? AND
|
||||
notification_type = ? AND
|
||||
data::json ->> 'display_username' = ?
|
||||
",
|
||||
consolidation_window,
|
||||
Notification.types[:liked_consolidated]
|
||||
Notification.types[:liked_consolidated],
|
||||
post_action.user.username_lower
|
||||
)
|
||||
.first
|
||||
|
||||
|
|
|
@ -346,6 +346,21 @@ describe PostAction do
|
|||
expect(notification.read).to eq(false)
|
||||
expect(data["count"]).to eq(6)
|
||||
|
||||
# Like from a different user shouldn't be consolidated
|
||||
expect do
|
||||
PostAction.act(
|
||||
Fabricate(:user),
|
||||
Fabricate(:post, user: likee),
|
||||
PostActionType.types[:like]
|
||||
)
|
||||
end.to change { likee.reload.notifications.count }.by(1)
|
||||
|
||||
notification = likee.notifications.last
|
||||
|
||||
expect(notification.notification_type).to eq(
|
||||
Notification.types[:liked]
|
||||
)
|
||||
|
||||
freeze_time(
|
||||
SiteSetting.likes_notification_consolidation_window_mins.minutes.since
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue