Sha256: b103bc711bd469a03ce68175582f71a4218b639200bef8903b223dcc71366e08

Contents?: true

Size: 857 Bytes

Versions: 3

Compression:

Stored size: 857 Bytes

Contents

require 'rails_helper'
require 'active_admin/menu_item'
require 'active_admin/views/components/menu_item'

RSpec.describe ActiveAdmin::Views::MenuItem do
  let(:item) do
    i = ActiveAdmin::MenuItem.new(label: "Dashboard")
    i.add label: "Blog", url: 'blogs'
    i.add label: "Cars", url: 'cars'
    i.add label: "Restricted", url: 'secret', if: proc{false}
    i.add label: "Users", priority: 1, url: 'admin_users'
    i.add label: "Settings", priority: 2, url: 'setup'
    i.add label: "Analytics", priority: 44, url: 'reports'
    i
  end

  let(:arbe_menu_item) do
    render_component(item: item) do
      menu_item(item)
    end
  end

  let(:html) { Capybara.string(arbe_menu_item.to_s) }

  it "sorts the child items" do
    ids = html.all('li').map { |i| i[:id] }
    expect(ids).to eq %w(dashboard users settings blog cars analytics)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activeadmin-rails-1.7.2 spec/unit/views/components/menu_item_spec.rb
activeadmin-rails-1.7.1 spec/unit/views/components/menu_item_spec.rb
activeadmin-rails-1.7.0 spec/unit/views/components/menu_item_spec.rb