Sha256: b8979b5fb91ac039ee9c4967f9fc2fe202f2b0570a7d0de3be4f55f63565a878
Contents?: true
Size: 1.23 KB
Versions: 5
Compression:
Stored size: 1.23 KB
Contents
require 'rails_helper' describe ActiveAdmin::ResourceController::Sidebars do let(:controller){ Admin::PostsController } context 'without before_action' do before do ActiveAdmin.register Post end subject { find_before_action controller, :skip_sidebar! } it { is_expected.to set_skip_sidebar_to nil, for: controller } end describe '#skip_sidebar!' do before do ActiveAdmin.register Post do before_action :skip_sidebar! end end subject { find_before_action controller, :skip_sidebar! } it { is_expected.to set_skip_sidebar_to true, for: controller } end def find_before_action(controller, filter) #raise controller._process_action_callbacks.map(&:filter).inspect controller._process_action_callbacks.detect { |f| f.raw_filter == filter.to_sym } end RSpec::Matchers.define :set_skip_sidebar_to do |expected, options| match do |filter| object = options[:for].new object.send filter.raw_filter if filter @actual = object.instance_variable_get(:@skip_sidebar) expect(@actual).to eq expected end failure_message do |filter| message = "expected before_action to set @skip_sidebar to '#{expected}', but was '#{@actual}'" end end end
Version data entries
5 entries across 5 versions & 1 rubygems