spec/cantango/permit_engine_spec.rb in cantango-0.9.3.2 vs spec/cantango/permit_engine_spec.rb in cantango-0.9.4

- old
+ new

@@ -1,2 +1,58 @@ -# its(:permit_class_names) { should include("UserRolePermit", "AdminsRoleGroupPermit") } +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! + config.ability.mode = :no_cache + config.engine(:permit) do |engine| + engine.mode = :no_cache + end + config.debug! +end + +class UserPermit < CanTango::UserPermit + def initialize ability + super + end + + protected + + def static_rules + can :read, Article + end +end + +describe CanTango::PermitEngine do + context 'no-cache' do + before do + @user = User.new 'kris' + end + + describe 'Permit engine' do + let (:ability) do + CanTango::Ability.new @user + end + subject { CanTango::PermitEngine.new ability } + + describe '#execute!' do + before do + subject.execute! + end + + it 'engine should have rules' do + subject.send(:rules).should_not be_empty + end + + it 'engine cache should be empty' do + subject.cache.empty?.should be_true + end + end + end + end +end