Sha256: 1d89d7cc45a330654da63fc538250603d6ee5df2e3d3c94aa22f45702d4d49b8

Contents?: true

Size: 1.59 KB

Versions: 2

Compression:

Stored size: 1.59 KB

Contents

RSpec.shared_examples_for "ActiveAdmin::Resource" do
  describe "namespace" do
    it "should return the namespace" do
      expect(config.namespace).to eq(namespace)
    end
  end

  describe "page_presenters" do
    it "should return an empty hash by default" do
      expect(config.page_presenters).to eq({})
    end
  end

  it { respond_to :controller_name }
  it { respond_to :controller }
  it { respond_to :route_prefix }
  it { respond_to :route_collection_path }
  it { respond_to :comments? }
  it { respond_to :belongs_to? }
  it { respond_to :action_items? }
  it { respond_to :sidebar_sections? }

  describe "Naming" do
    it "implements #resource_label" do
      expect { config.resource_label }.to_not raise_error
    end

    it "implements #plural_resource_label" do
      expect { config.plural_resource_label }.to_not raise_error
    end
  end

  describe "Menu" do
    describe "#menu_item_options" do

      it "initializes a new menu item with defaults" do
          expect(config.menu_item_options[:label].call).to eq(config.plural_resource_label)
      end

      it "initialize a new menu item with custom options" do
        config.menu_item_options = { label: "Hello" }
        expect(config.menu_item_options[:label]).to eq("Hello")
      end

    end

    describe "#include_in_menu?" do
      it "should be included in menu by default" do
        expect(config.include_in_menu?).to eq(true)
      end

      it "should not be included in menu when menu set to false" do
        config.menu_item_options = false
        expect(config.include_in_menu?).to eq(false)
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activeadmin-1.0.0 spec/unit/config_shared_examples.rb
activeadmin-1.0.0.pre5 spec/unit/config_shared_examples.rb