Sha256: 55ff47eb1444d9e0a31a123dd85652d88f0f58cb3cdd8b7ab477393577751e3b

Contents?: true

Size: 1.1 KB

Versions: 25

Compression:

Stored size: 1.1 KB

Contents

require 'rails_helper'

describe ActiveAdmin::CanCanAdapter do

  describe "full integration" do

    let(:application){ ActiveAdmin::Application.new }
    let(:namespace){ ActiveAdmin::Namespace.new(application, "Admin") }
    let(:resource){ namespace.register(Post) }

    let :ability_class do
      Class.new do
        include CanCan::Ability

        def initialize(user)
          can :read, Post
          cannot :update, Post
        end

      end
    end

    let(:auth) { namespace.authorization_adapter.new(resource, double) }

    before do
      namespace.authorization_adapter = ActiveAdmin::CanCanAdapter
      namespace.cancan_ability_class = ability_class
    end

    it "should initialize the ability stored in the namespace configuration" do
      expect(auth.authorized?(:read, Post)).to eq true
      expect(auth.authorized?(:update, Post)).to eq false
    end

    it "should scope the collection with accessible_by" do
      collection = double
      expect(collection).to receive(:accessible_by).with(auth.cancan_ability, :edit)
      auth.scope_collection(collection, :edit)
    end

  end

end

Version data entries

25 entries across 25 versions & 4 rubygems

Version Path
activeadmin_addons-1.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/cancan_adapter_spec.rb
activeadmin_addons-1.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.17.pre spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.16.pre spec/unit/cancan_adapter_spec.rb
activeadmin_addons-1.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/cancan_adapter_spec.rb
activeadmin_addons-1.0.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/cancan_adapter_spec.rb
activeadmin_addons-1.0.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.15.pre spec/unit/cancan_adapter_spec.rb
activeadmin-orac-1.0.0.pre4 spec/unit/cancan_adapter_spec.rb
activeadmin-orac-1.0.0 spec/unit/cancan_adapter_spec.rb
activeadmin-orac-1.0.0.pre.orac spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.14.pre spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.13.pre spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.12.pre spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.11.pre spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.10.pre spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.9.pre spec/unit/cancan_adapter_spec.rb
yousty-activeadmin-1.0.8.pre spec/unit/cancan_adapter_spec.rb
activeadmin-1.0.0.pre4 spec/unit/cancan_adapter_spec.rb
activeadmin-1.0.0.pre3 spec/unit/cancan_adapter_spec.rb