From 1cd7606b64933595da73d99828aa4883fd7a50a5 Mon Sep 17 00:00:00 2001 From: awingla Date: Tue, 17 Jun 2014 15:15:33 +0900 Subject: [PATCH] add unit test to dsl_spec --- spec/unit/dsl_spec.rb | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/spec/unit/dsl_spec.rb b/spec/unit/dsl_spec.rb index ddf98ace717..c8940cd2548 100644 --- a/spec/unit/dsl_spec.rb +++ b/spec/unit/dsl_spec.rb @@ -8,11 +8,10 @@ def self.included(dsl) describe ActiveAdmin::DSL do - let(:config){ double } let(:application) { ActiveAdmin::Application.new } let(:namespace) { ActiveAdmin::Namespace.new application, :admin } let(:resource_config) { ActiveAdmin::Resource.new namespace, Post } - let(:dsl){ ActiveAdmin::DSL.new(config) } + let(:dsl){ ActiveAdmin::DSL.new(resource_config) } describe "#include" do @@ -25,10 +24,25 @@ def self.included(dsl) end + + describe '#action_item' do + before { @default_items_count = resource_config.action_items.size } + + it "add action_item to the action_items of config" do + dsl.run_registration_block do + action_item only: :show do + "Awesome ActionItem" + end + end + expect(resource_config.action_items.size).to eq(@default_items_count + 1) + end + + end + describe "#menu" do it "should set the menu_item_options on the configuration" do - expect(config).to receive(:menu_item_options=).with({parent: "Admin"}) + expect(resource_config).to receive(:menu_item_options=).with({parent: "Admin"}) dsl.run_registration_block do menu parent: "Admin" end @@ -39,21 +53,18 @@ def self.included(dsl) describe "#navigation_menu" do it "should set the navigation_menu_name on the configuration" do - expect(config).to receive(:navigation_menu_name=).with(:admin) + expect(resource_config).to receive(:navigation_menu_name=).with(:admin) dsl.run_registration_block do navigation_menu :admin end end it "should accept a block" do - dsl = ActiveAdmin::DSL.new(resource_config) dsl.run_registration_block do navigation_menu { :dynamic_menu } end - expect(resource_config.navigation_menu_name).to eq :dynamic_menu - end end @@ -61,15 +72,14 @@ def self.included(dsl) describe "#sidebar" do before do - allow(config).to receive(:sidebar_sections).and_return([]) dsl.config.sidebar_sections << ActiveAdmin::SidebarSection.new(:email) end - it "add sidebar_section to the sidebar_sections on the configuration" do + it "add sidebar_section to the sidebar_sections of config" do dsl.run_registration_block do sidebar :help end - expect(config.sidebar_sections.map(&:name)).to match_array([:email, :help]) + expect(dsl.config.sidebar_sections.map(&:name)).to match_array([:filters, :email, :help]) end end