mirror of
https://github.com/discourse/discourse.git
synced 2024-11-28 00:54:21 +08:00
69bc552054
The "Show more notifications..." link in the notifications dropdown now links to /my/notifications, which is a historical view of all notifications you have recieved. Notification history is loaded in blocks of 60 at a time. Admins can see others' notification history. (This was requested for 'debugging purposes', though that's what impersonation is for, IMO.)
40 lines
1.0 KiB
Ruby
40 lines
1.0 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe NotificationsController do
|
|
|
|
context 'when logged in' do
|
|
let!(:user) { log_in }
|
|
|
|
it 'should succeed for recent' do
|
|
xhr :get, :recent
|
|
response.should be_success
|
|
end
|
|
|
|
it 'should succeed for history' do
|
|
xhr :get, :history
|
|
response.should be_success
|
|
end
|
|
|
|
it 'should mark notifications as viewed' do
|
|
notification = Fabricate(:notification, user: user)
|
|
user.reload.unread_notifications.should == 1
|
|
xhr :get, :recent
|
|
user.reload.unread_notifications.should == 0
|
|
end
|
|
|
|
it 'should not mark notifications as viewed if silent param is present' do
|
|
notification = Fabricate(:notification, user: user)
|
|
user.reload.unread_notifications.should == 1
|
|
xhr :get, :recent, silent: true
|
|
user.reload.unread_notifications.should == 1
|
|
end
|
|
end
|
|
|
|
context 'when not logged in' do
|
|
it 'should raise an error' do
|
|
lambda { xhr :get, :recent }.should raise_error(Discourse::NotLoggedIn)
|
|
end
|
|
end
|
|
|
|
end
|