mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 01:16:22 +08:00
FIX: Remove all notifications of staged user during sign-up
This commit is contained in:
parent
d9515c37b3
commit
b784c1eda4
|
@ -235,6 +235,7 @@ class User < ActiveRecord::Base
|
|||
user.staged = false
|
||||
user.active = false
|
||||
user.custom_fields[FROM_STAGED] = true
|
||||
user.notifications.destroy_all
|
||||
|
||||
DiscourseEvent.trigger(:user_unstaged, user)
|
||||
end
|
||||
|
|
|
@ -1600,6 +1600,16 @@ describe User do
|
|||
expect(User.unstage(email: 'no@account.com')).to be_nil
|
||||
end
|
||||
|
||||
it "removes all previous notifications during unstaging" do
|
||||
Fabricate(:notification, user: user)
|
||||
Fabricate(:private_message_notification, user: user)
|
||||
user.reload
|
||||
|
||||
expect(user.total_unread_notifications).to eq(2)
|
||||
user = User.unstage(params)
|
||||
expect(user.total_unread_notifications).to eq(0)
|
||||
end
|
||||
|
||||
it "triggers an event" do
|
||||
unstaged_user = nil
|
||||
event = DiscourseEvent.track_events { unstaged_user = User.unstage(params) }.first
|
||||
|
|
Loading…
Reference in New Issue
Block a user