Sha256: 212e7b520e7ad637b586541c3495f2fc84576b4f2282aa1fef26d6062e4dbca7

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

require 'rspec'
require 'cantango'
require 'fixtures/models'
require 'cantango/rspec'

def config_folder
  File.dirname(__FILE__)+ "/../fixtures/config/"
end

CanTango.configure do |config|
  config.clear!
end

class Thingy
  attr_reader :name, :id

  def initialize name
    @name = name
    @id = rand(1000)
  end
end


describe CanTango::UserAcEngine do
  context 'User model has_many Permissions' do
    before do
      @thingy = Thingy.new 'a'
      @user = User.new 'kris'
      @permission = Permission.new @user, :edit, @thingy
      @user.permissions << @permission
    end

    describe 'Permission' do
      subject { @permission }
        its(:thing_id) { should be_a(Integer) }
    end

    describe 'UserAc engine' do
      let (:ability) do
        CanTango::Ability.new @user
      end
      subject { CanTango::UserAcEngine.new ability }

      describe '#execute!' do
        before do
          subject.execute!
        end

        specify { subject.ability.send(:rules).should_not be_empty }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cantango-0.9.3.2 spec/cantango/user_ac_engine_spec.rb