Sha256: baee3e429435e156723595c23d9da2cc7aa74b8412e1bdc5796c2301f1463dc3

Contents?: true

Size: 1.43 KB

Versions: 5

Compression:

Stored size: 1.43 KB

Contents

require 'spec_helper'

describe ActiveAdmin::Resource::PagePresenters do

  let(:namespace){ ActiveAdmin::Namespace.new(ActiveAdmin::Application.new, :admin) }
  let(:resource){ namespace.register(Post) }

  it "should have an empty set of configs on initialize" do
    expect(resource.page_presenters).to eq ({})
  end

  it "should add a show page presenter" do
    page_presenter = ActiveAdmin::PagePresenter.new
    resource.set_page_presenter(:show, page_presenter)
    expect(resource.page_presenters[:show]).to eq page_presenter
  end

  it "should add an index page presenter" do
    page_presenter = ActiveAdmin::PagePresenter.new({as: :table})
    resource.set_page_presenter(:index, page_presenter)
    expect(resource.page_presenters[:index].default).to eq page_presenter
  end

  describe "#get_page_presenter" do

    it "should return a page config when set" do
      page_presenter = ActiveAdmin::PagePresenter.new
      resource.set_page_presenter(:index, page_presenter)
      expect(resource.get_page_presenter(:index)).to eq page_presenter
    end

    it "should return a specific index page config when set" do
      page_presenter = ActiveAdmin::PagePresenter.new
      resource.set_page_presenter(:index, page_presenter)
      expect(resource.get_page_presenter(:index, "table")).to eq page_presenter
    end

    it "should return nil when no page config set" do
      expect(resource.get_page_presenter(:index)).to eq nil
    end

  end

end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
active_administration-0.0.3 spec/unit/resource/page_presenters_spec.rb
activeadministration-0.0.2 spec/unit/resource/page_presenters_spec.rb
active_administration-0.0.2 spec/unit/resource/page_presenters_spec.rb
activeadministration-0.0.1 spec/unit/resource/page_presenters_spec.rb
active_administration-0.0.1 spec/unit/resource/page_presenters_spec.rb