Skip to content
Extraits de code Groupes Projets
notifications_controller_spec.rb 1,24 ko
Newer Older
  • Learn to ignore specific revisions
  • maxwell's avatar
    maxwell a validé
    #   Copyright (c) 2010, Diaspora Inc.  This file is
    #   licensed under the Affero General Public License version 3 or later.  See
    #   the COPYRIGHT file.
    
    require 'spec_helper'
    
    describe NotificationsController do
    
      let!(:user) { make_user }
      let!(:aspect) { user.aspects.create(:name => "AWESOME!!") }
      
      before do
        sign_in :user, user
    
      end
    
    
    maxwell's avatar
    maxwell a validé
      describe '#update' do
        it 'marks a notification as read' do
    
    maxwell's avatar
    maxwell a validé
          note = Notification.create(:user_id => user.id)
    
    maxwell's avatar
    maxwell a validé
          put :update, :id => note.id
          Notification.first.unread.should == false
    
    maxwell's avatar
    maxwell a validé
        end
    
    
    maxwell's avatar
    maxwell a validé
        it 'only lets you read your own notifications' do
    
    maxwell's avatar
    maxwell a validé
          user2 = make_user
    
          Notification.create(:user_id => user.id)
          note = Notification.create(:user_id => user2.id)
    
    
    maxwell's avatar
    maxwell a validé
          put :update, :id => note.id
    
    maxwell's avatar
    maxwell a validé
    
    
    maxwell's avatar
    maxwell a validé
          Notification.find(note.id).unread.should == true 
    
    maxwell's avatar
    maxwell a validé
        end
      end
    
      
      describe '#index' do
        it 'paginates the notifications' do
          35.times do
            Notification.create(:user_id => user.id)
          end
          
          get :index
    
          assigns[:notifications].should =~ Notification.all(:user_id => user.id, :limit => 25)
    
          
          get :index, :page => 2
    
          assigns[:notifications].should =~ Notification.all(:user_id => user.id, :offset => 25, :limit => 25)
    
    maxwell's avatar
    maxwell a validé
    end