Sha256: ead1efd7af0634a8684b0059b5284c2c42b4bcf53bf414d2f148236fa99898f0

Contents?: true

Size: 1.46 KB

Versions: 20

Compression:

Stored size: 1.46 KB

Contents

require 'rails_helper'

module ActiveAdmin
  describe Resource, "Scopes" do

    before { load_defaults! }

    let(:application){ ActiveAdmin::Application.new }
    let(:namespace){ Namespace.new(application, :admin) }

    def config(options = {})
      @config ||= Resource.new(namespace, Category, options)
    end

    describe "adding a scope" do

      it "should add a scope" do
        config.scope :published
        expect(config.scopes.first).to be_a(ActiveAdmin::Scope)
        expect(config.scopes.first.name).to eq "Published"
      end

      it "should retrive a scope by its id" do
        config.scope :published
        expect(config.get_scope_by_id(:published).name).to eq "Published"
      end

      it "should retrieve a string scope with spaces by its id without conflicts" do
        aspace_1 = config.scope "a space"
        aspace_2 = config.scope "as pace"
        expect(config.get_scope_by_id(aspace_1.id).name).to eq "a space"
        expect(config.get_scope_by_id(aspace_2.id).name).to eq "as pace"
      end

      it "should not add a scope with the same name twice" do
        config.scope :published
        config.scope :published
        expect(config.scopes.size).to eq 1
      end

      it "should update a scope with the same id" do
        config.scope :published
        expect(config.scopes.first.scope_block).to be_nil
        config.scope(:published){  }
        expect(config.scopes.first.scope_block).to_not be_nil
      end

    end
  end
end

Version data entries

20 entries across 20 versions & 3 rubygems

Version Path
activeadmin_addons-1.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/resource/scopes_spec.rb
activeadmin_addons-1.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.17.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.16.pre spec/unit/resource/scopes_spec.rb
activeadmin_addons-1.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/resource/scopes_spec.rb
activeadmin_addons-1.0.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/resource/scopes_spec.rb
activeadmin_addons-1.0.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.15.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.14.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.13.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.12.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.11.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.10.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.9.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.8.pre spec/unit/resource/scopes_spec.rb
activeadmin-1.0.0.pre2 spec/unit/resource/scopes_spec.rb
activeadmin-1.0.0.pre1 spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.7.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.6.pre spec/unit/resource/scopes_spec.rb
yousty-activeadmin-1.0.5.pre spec/unit/resource/scopes_spec.rb