Sha256: 64482dd265caa0d71007319d4fb2199a3b3bd905c8a864be490c2fd3b47f80ce

Contents?: true

Size: 900 Bytes

Versions: 1

Compression:

Stored size: 900 Bytes

Contents

require 'spec_helper'
require 'fixtures/models'

class AdminPermit < CanTango::Permit::UserType
  def initialize ability
    super
  end

  protected

  def calc_rules
    can :read, Article
  end
end

class CanTango::Ability::Base
  def subject
    candidate
  end

  def user
    subject
  end
end

describe CanTango::Executor::Permit::Base do
  before do
    @user     = Admin.new 'kris', 'kris@mail.ru'
    @ability  = CanTango::Ability::Base.new @user
    @permit   = AdminPermit.new @ability
    @executor = CanTango::Executor::Permit::Base.new @permit
  end

  describe '#execute!' do
    describe 'should find permit based on #user_type' do
      specify { lambda{ @executor.execute! }.should_not raise_error }
    end

    describe 'should define read Article rule' do
      specify do
        @executor.execute!
        @executor.permit.rules.should_not be_empty
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cantango-permits-0.1.1 spec/cantango/executor/permit_base_spec.rb