Sha256: ccb6888fb08a0057d7b56dcc5710df74deb87ece902ea6ef062cc0345413d120

Contents?: true

Size: 1.64 KB

Versions: 26

Compression:

Stored size: 1.64 KB

Contents

require File.dirname(__FILE__) + "/../../spec_helper"

describe Admin::ForumsController do
  dataset :users
  dataset :forums
  
  it "should be a ResourceController" do
    controller.should be_kind_of(Admin::ResourceController)
  end

  it "should handle Readers" do
    controller.class.model_class.should == Forum
  end

  { 
    :get => [:new, :edit],
    :post => [:create],
    :put => [:update],
    :delete => [:destroy]
  }.each do |method, actions|
    actions.each do |action|
      it "should require login to access the #{action} action" do
        logout
        lambda { send(method, action, :id => forum_id(:public)).should require_login }
      end

      it "should allow you to access to #{action} action if you are an admin" do
        lambda { 
          send(method, action, :id => forum_id(:public)) 
        }.should restrict_access(:allow => users(:admin),
                                 :url => '/admin/page')
      end
      
      it "should deny you access to #{action} action if you are not an admin" do
        lambda { 
          send(method, action, :id => forum_id(:public)) 
        }.should restrict_access(:deny => [users(:designer), users(:existing)],
                                 :url => '/admin/page')
      end
    end
  end
  
  { 
    :get => [:index],
  }.each do |method, actions|
    actions.each do |action|
      it "should allow you to access to #{action} action even if you are not an admin" do
        lambda { 
          send(method, action, :id => forum_id(:public)) 
        }.should restrict_access(:allow => [users(:designer), users(:admin), users(:existing)], :url => '/admin/pages')
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
radiant-forum-extension-3.0.7 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.6 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.5 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.4 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.3 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.2 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.1 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.0 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.0.rc6 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.0.rc4 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-3.0.0.rc3 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.1.6 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.1.4 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.1.3 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.1.2 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.1.1 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.0.9 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.0.8 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.0.7 spec/controllers/admin/forums_controller_spec.rb
radiant-forum-extension-2.0.6 spec/controllers/admin/forums_controller_spec.rb