Sha256: f99abb3fc0c89cea4f428f005f9848c902ed720c1cd25c69c390501c0c614bb7

Contents?: true

Size: 1.54 KB

Versions: 11

Compression:

Stored size: 1.54 KB

Contents

require 'rails_helper'

describe ActiveAdmin::Views::Panel do
  let(:arbre_panel) do
    render_arbre_component do
      panel "My Title" do
        header_action link_to("My Link", "https://www.github.com/activeadmin/activeadmin")
        span("Hello World")
      end
    end
  end

  let(:panel_html) { Capybara.string(arbre_panel.to_s) }

  it "should have a title h3" do
    expect(panel_html).to have_css 'h3', text: "My Title"
  end

  it "should add panel actions to the panel header" do
    link = panel_html.find('h3 > div.header_action a')
    expect(link.text).to eq('My Link')
    expect(link[:href]).to eq("https://www.github.com/activeadmin/activeadmin")
  end

  it "should have a contents div" do
    expect(panel_html).to have_css 'div.panel_contents'
  end

  it "should add children to the contents div" do
    expect(panel_html).to have_css 'div.panel_contents > span', text: "Hello World"
  end

  context "with html-safe title" do
    let(:arbre_panel) do
      title_with_html = %q[Title with <abbr>HTML</abbr>].html_safe
      render_arbre_component do
        panel(title_with_html)
      end
    end

    it "should allow a html_safe title" do
      expect(panel_html).to have_css "h3", text: "Title with HTML"
      expect(panel_html).to have_css "h3 > abbr", text: "HTML"
    end
  end

  describe "#children?" do
    let(:arbre_panel) do
      render_arbre_component do
        panel("A Panel")
      end
    end

    it "returns false if no children have been added to the panel" do
      expect(arbre_panel.children?).to eq false
    end
  end
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
activeadmin_addons-1.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/views/components/panel_spec.rb
activeadmin_addons-1.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/views/components/panel_spec.rb
activeadmin_addons-1.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/views/components/panel_spec.rb
activeadmin_addons-1.0.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/views/components/panel_spec.rb
activeadmin_addons-1.0.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/unit/views/components/panel_spec.rb
activeadmin-orac-1.0.0.pre4 spec/unit/views/components/panel_spec.rb
activeadmin-orac-1.0.0 spec/unit/views/components/panel_spec.rb
activeadmin-orac-1.0.0.pre.orac spec/unit/views/components/panel_spec.rb
activeadmin-1.0.0.pre4 spec/unit/views/components/panel_spec.rb
activeadmin-1.0.0.pre3 spec/unit/views/components/panel_spec.rb
activeadmin-1.0.0.pre2 spec/unit/views/components/panel_spec.rb