Sha256: ce9888efa2c33acde3fc57a646c79b80f351c3c8dd69bd94dd8e4e493b580851

Contents?: true

Size: 799 Bytes

Versions: 9

Compression:

Stored size: 799 Bytes

Contents

require 'spec_helper'
require 'fixtures/models'

module CanTango::Ability
  class Base
    include CanTango::Ability::Rules
    
    def calculate_rules
      can :edit, Project
    end
  end
end

describe CanTango::Ability::Rules do
  before do
    @user = User.new 'krisy', 'krisy@gmail.com'
  end

  subject { CanTango::Ability::Base.new @user }

  describe 'rules' do
    specify do 
      subject.rules.should == []
    end
  end

  describe 'clear_rules!' do
    before do
      subject.rules = [1]
      subject.clear_rules!
    end

    specify do 
      subject.rules.should == []
    end
  end
  
  describe 'normalize_rules!' do
    before do
      subject.rules = [[1,2], 3]
      subject.normalize_rules!
    end

    specify do 
      subject.rules.should == [1,2,3]
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
cantango-core-0.1.9.3 spec/cantango/ability/rules_spec.rb
cantango-core-0.1.9.2 spec/cantango/ability/rules_spec.rb
cantango-core-0.1.9.1 spec/cantango/ability/rules_spec.rb
cantango-core-0.1.9 spec/cantango/ability/rules_spec.rb
cantango-core-0.1.8 spec/cantango/ability/rules_spec.rb
cantango-core-0.1.7 spec/cantango/ability/rules_spec.rb
cantango-core-0.1.6 spec/cantango/ability/rules_spec.rb
cantango-core-0.1.5 spec/cantango/ability/rules_spec.rb
cantango-core-0.1.4 spec/cantango/ability/rules_spec.rb