FIX: Add conditions on when to show first pm notification.
This commit is contained in:
parent
a9680e5a9e
commit
16fdcdfc00
|
@ -344,6 +344,7 @@ class User < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def read_first_notification?
|
def read_first_notification?
|
||||||
|
return true if (trust_level > TrustLevel[0] || created_at < 1.week.ago)
|
||||||
notifications.order(created_at: :asc).first&.read || false
|
notifications.order(created_at: :asc).first&.read || false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1318,7 +1318,7 @@ describe User do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#read_first_notification?' do
|
describe '#read_first_notification?' do
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user, trust_level: TrustLevel[0]) }
|
||||||
let(:notification) { Fabricate(:private_message_notification, user: user) }
|
let(:notification) { Fabricate(:private_message_notification, user: user) }
|
||||||
let(:other_notification) { Fabricate(:private_message_notification, user: user) }
|
let(:other_notification) { Fabricate(:private_message_notification, user: user) }
|
||||||
|
|
||||||
|
@ -1336,7 +1336,7 @@ describe User do
|
||||||
notification.update_attributes!(read: true)
|
notification.update_attributes!(read: true)
|
||||||
other_notification.update_attributes!(read: false)
|
other_notification.update_attributes!(read: false)
|
||||||
|
|
||||||
expect(user.read_first_notification?).to eq(true)
|
expect(user.reload.read_first_notification?).to eq(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1345,6 +1345,22 @@ describe User do
|
||||||
expect(user.read_first_notification?).to eq(false)
|
expect(user.read_first_notification?).to eq(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'when user is not trust level 0' do
|
||||||
|
it 'should return the right value' do
|
||||||
|
user.update_attributes!(trust_level: TrustLevel[1])
|
||||||
|
|
||||||
|
expect(user.read_first_notification?).to eq(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'when user is an old user' do
|
||||||
|
it 'should return the right value' do
|
||||||
|
user.update_attributes!(created_at: 1.year.ago)
|
||||||
|
|
||||||
|
expect(user.read_first_notification?).to eq(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "#featured_user_badges" do
|
describe "#featured_user_badges" do
|
||||||
|
|
Loading…
Reference in New Issue