Sha256: 3135c1852d04bee4c02dbc65b984d510187f71f615df4cc2f80533997460813b

Contents?: true

Size: 1.26 KB

Versions: 21

Compression:

Stored size: 1.26 KB

Contents

require 'rails_helper'

RSpec.describe ActiveAdmin::Application do
  let(:application){ ActiveAdmin::Application.new }
  let(:controllers){ application.controllers_for_filters }

  it 'controllers_for_filters' do
    expect(application.controllers_for_filters).to eq [
      ActiveAdmin::BaseController, ActiveAdmin::Devise::SessionsController,
      ActiveAdmin::Devise::PasswordsController, ActiveAdmin::Devise::UnlocksController,
      ActiveAdmin::Devise::RegistrationsController, ActiveAdmin::Devise::ConfirmationsController
    ]
  end

  expected_actions = (
    prefixes = %w(skip append prepend) << nil
    positions = %w(before around after)
    suffixes = %w(action)
    base = %w()
    if ActiveAdmin::Dependency.rails? '< 5.1.x'
      suffixes += %w(filter)
      base += %w(skip_filter skip_action_callback)
    end

    prefixes.each_with_object(base) do |prefix, stack|
      positions.each do |position|
        suffixes.each do |suffix|
          stack << [prefix, position, suffix].compact.join("_").to_sym
        end
      end
    end
  )

  expected_actions.each do |action|
    it action do
      args = [:my_filter, { only: :show }]
      controllers.each { |c| expect(c).to receive(action).with(args) }
      application.public_send action, args
    end
  end
end

Version data entries

21 entries across 21 versions & 4 rubygems

Version Path
activeadmin-rails-1.7.2 spec/unit/controller_filters_spec.rb
activeadmin-rails-1.7.1 spec/unit/controller_filters_spec.rb
activeadmin-rails-1.7.0 spec/unit/controller_filters_spec.rb
activeadmin-rb-1.6.0 spec/unit/controller_filters_spec.rb
activeadmin-rb-1.5.2 spec/unit/controller_filters_spec.rb
activeadmin-rb-1.5.1 spec/unit/controller_filters_spec.rb
activeadmin-rb-1.5.0 spec/unit/controller_filters_spec.rb
activeadmin_addons-1.7.1 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/controller_filters_spec.rb
activeadmin-rb-1.4.0 spec/unit/controller_filters_spec.rb
activeadmin_addons-1.7.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/controller_filters_spec.rb
activeadmin-1.3.1 spec/unit/controller_filters_spec.rb
activeadmin_addons-1.6.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/controller_filters_spec.rb
activeadmin_addons-1.5.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/controller_filters_spec.rb
activeadmin-1.3.0 spec/unit/controller_filters_spec.rb
activeadmin_addons-1.4.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/controller_filters_spec.rb
activeadmin_addons-1.3.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/controller_filters_spec.rb
activeadmin_addons-1.2.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/controller_filters_spec.rb
activeadmin-1.2.1 spec/unit/controller_filters_spec.rb
activeadmin-1.2.0 spec/unit/controller_filters_spec.rb
activeadmin-1.1.0 spec/unit/controller_filters_spec.rb