Sha256: 12bd83b1e85481037cdacf100242ec6975a24178344fd12133ebdf7cf888f3b1

Contents?: true

Size: 834 Bytes

Versions: 11

Compression:

Stored size: 834 Bytes

Contents

require 'spec_helper'
require 'refinery/menu'
require 'refinery/menu_item'

module Refinery
  describe Menu do
    it 'constructs a menu given items' do
      Menu.new([{:id => 1}, {:id => 2}]).items.each { |item|
        expect(item).to be_kind_of MenuItem
      }
    end

    it 'allows construction of a new menu from this menu' do
      expect {
        Menu.new(Menu.new([{:id => 1}, {:id => 2}]).map.first)
      }.to_not raise_exception
    end

    it '#roots contains only items at the same depth' do
      menu = Menu.new([{:id => 1, :depth => 0, :parent_id => nil},
                        {:id => 2, :depth => 0, :parent_id => nil},
                        {:id => 3, :depth => 1, :parent_id => nil}])
      expect(menu.roots.length).to eq(2)
      expect(menu.roots.map(&:original_id)).to include(1,2)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
refinerycms-core-4.0.3 spec/lib/refinery/menu_spec.rb
refinerycms-core-4.0.2 spec/lib/refinery/menu_spec.rb
refinerycms-core-4.0.1 spec/lib/refinery/menu_spec.rb
refinerycms-core-3.0.6 spec/lib/refinery/menu_spec.rb
refinerycms-core-4.0.0 spec/lib/refinery/menu_spec.rb
refinerycms-core-3.0.5 spec/lib/refinery/menu_spec.rb
refinerycms-core-3.0.4 spec/lib/refinery/menu_spec.rb
refinerycms-core-3.0.3 spec/lib/refinery/menu_spec.rb
refinerycms-core-3.0.2 spec/lib/refinery/menu_spec.rb
refinerycms-core-3.0.1 spec/lib/refinery/menu_spec.rb
refinerycms-core-3.0.0 spec/lib/refinery/menu_spec.rb