controller can accept a parameter as to whether the notification should be marked as read or unread

This commit is contained in:
Steven Fuchs 2011-12-22 15:20:48 -05:00
parent 2817fb95de
commit f2be6e8bcf
2 changed files with 12 additions and 2 deletions

View file

@ -11,7 +11,7 @@ class NotificationsController < VannaController
def update(opts=params)
note = Notification.where(:recipient_id => current_user.id, :id => opts[:id]).first
if note
note.update_attributes(:unread => false)
note.update_attributes(:unread => opts[:is_unread] || false )
{}
else
Response.new :status => 404

View file

@ -14,11 +14,21 @@ describe NotificationsController do
end
describe '#update' do
it 'marks a notification as read' do
it 'marks a notification as read if it gets no other information' do
note = Factory(:notification, :recipient => @user)
@controller.update :id => note.id
Notification.first.unread.should == false
end
it 'marks a notification as read if it is told to' do
note = Factory(:notification, :recipient => @user)
@controller.update :id => note.id, :is_unread => false
Notification.first.unread.should == false
end
it 'marks a notification as unread if it is told to' do
note = Factory(:notification, :recipient => @user)
@controller.update :id => note.id, :is_unread => true
Notification.first.unread.should == true
end
it 'only lets you read your own notifications' do
user2 = bob