Sha256: d5337996f3e4b1888e7a5d933b880be261efbbd71d50fc33c8905512f1f33f2e

Contents?: true

Size: 1.39 KB

Versions: 58

Compression:

Stored size: 1.39 KB

Contents

require 'spec_helper'

describe ActiveAdmin::MenuCollection do

  let(:menus) { ActiveAdmin::MenuCollection.new }

  describe "#add" do

    it "should initialize a new menu when first item" do
      menus.add :default, :label => "Hello World"

      menus.fetch(:default).items.size.should == 1
      menus.fetch(:default)["Hello World"].should be_an_instance_of(ActiveAdmin::MenuItem)
    end

    it "should add items to an existing menu" do
      menus.add :default, :label => "Hello World"
      menus.add :default, :label => "Hello World Again"

      menus.fetch(:default).items.size.should == 2
    end

  end

  describe "#clear!" do

    it "should remove all menus" do
      menus.add :default, :label => "Hello World"

      menus.clear!

      expect {
        menus.fetch(:non_default_menu)
      }.to raise_error(ActiveAdmin::MenuCollection::NoMenuError)

    end

  end

  describe "#on_build" do

    it "runs a callback when fetching a menu" do
      menus.on_build do |m|
        m.add :default, :label => "Hello World"
      end

      menus.fetch(:default)["Hello World"].should_not be_nil
    end

    it "re-runs the callbacks when the menu is cleared" do
      menus.on_build do |m|
        m.add :default, :label => "Hello World"
      end

      menus.fetch(:default)["Hello World"].should_not be_nil
      menus.clear!
      menus.fetch(:default)["Hello World"].should_not be_nil
    end

  end

end

Version data entries

58 entries across 58 versions & 4 rubygems

Version Path
activeadmin-0.6.6 spec/unit/menu_collection_spec.rb
activeadmin-0.6.5 spec/unit/menu_collection_spec.rb
activeadmin-0.6.4 spec/unit/menu_collection_spec.rb
yousty-activeadmin-1.0.4.pre spec/unit/menu_collection_spec.rb
yousty-activeadmin-1.0.3.pre spec/unit/menu_collection_spec.rb
yousty-activeadmin-1.0.2.pre spec/unit/menu_collection_spec.rb
activeadmin-0.6.3 spec/unit/menu_collection_spec.rb
yousty-activeadmin-1.0.1.pre spec/unit/menu_collection_spec.rb
yousty-activeadmin-1.0.0.pre spec/unit/menu_collection_spec.rb
activeadmin-0.6.2 spec/unit/menu_collection_spec.rb
activeadmin-0.6.1 spec/unit/menu_collection_spec.rb
aa-rails4-0.6.0 spec/unit/menu_collection_spec.rb
lalala-4.0.0.dev.141 vendor/deps/active_admin/spec/unit/menu_collection_spec.rb
lalala-4.0.0.dev.136 vendor/deps/active_admin/spec/unit/menu_collection_spec.rb
lalala-4.0.0.dev.135 vendor/deps/active_admin/spec/unit/menu_collection_spec.rb
lalala-4.0.0.dev.134 vendor/deps/active_admin/spec/unit/menu_collection_spec.rb
lalala-4.0.0.dev.133 vendor/deps/active_admin/spec/unit/menu_collection_spec.rb
lalala-4.0.0.dev.132 vendor/deps/active_admin/spec/unit/menu_collection_spec.rb
lalala-4.0.0.dev.131 vendor/deps/active_admin/spec/unit/menu_collection_spec.rb
lalala-4.0.0.dev.129 vendor/deps/active_admin/spec/unit/menu_collection_spec.rb