Sha256: 80d5033295c1d04f930bf76615c94ebf01a456955b688eab620858dd9b6bcc97

Contents?: true

Size: 1.88 KB

Versions: 28

Compression:

Stored size: 1.88 KB

Contents

require 'test_helper'

module Workarea
  module Navigation
    class BreadcrumbsTest < Workarea::TestCase
      setup do
        @navigable = Content::Page.new(name: 'Test Taxon', slug: 'test-link')
        @first = create_taxon(name: 'First')
        @second = create_taxon(name: 'Second', parent: @first, navigable: @navigable)
      end

      def test_global_id
        navigable = create_page
        via = Breadcrumbs.new(navigable).to_global_id

        result = Breadcrumbs.from_global_id(via)
        assert_equal(navigable, result.navigable)
      end

      def test_collection
        breadcrumbs = Breadcrumbs.new(@navigable)
        assert_equal(3, breadcrumbs.length) # including home
      end

      def test_last
        model = create_product
        breadcrumbs = Breadcrumbs.new(@navigable, last: model)

        assert(breadcrumbs.last.is_a?(Navigation::Taxon))
        assert_equal(4, breadcrumbs.length) # including home
        assert_equal(model, breadcrumbs.last.navigable)
        assert_equal(model.name, breadcrumbs.last.name)

        model = create_inventory
        breadcrumbs = Breadcrumbs.new(@navigable, last: model.id)

        assert(breadcrumbs.last.is_a?(Navigation::Taxon))
        assert_equal(4, breadcrumbs.length) # including home
        assert_equal(model.id, breadcrumbs.last.name)
      end

      def test_selected
        breadcrumbs = Breadcrumbs.new(@navigable)

        refute(breadcrumbs.selected?(create_taxon))
        assert(breadcrumbs.selected?(@second))
        assert(breadcrumbs.selected?(@first))
      end

      def test_join
        breadcrumbs = Breadcrumbs.new(@navigable)
        assert_equal('Home > First > Second', breadcrumbs.join(' > '))
      end

      def test_presence
        assert(Breadcrumbs.new(nil).blank?)
        assert(Breadcrumbs.new(create_page).blank?)
        assert(Breadcrumbs.new(@navigable).present?)
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
workarea-core-3.5.27 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.26 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.25 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.23 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.22 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.21 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.20 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.19 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.18 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.17 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.16 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.15 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.14 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.13 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.12 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.11 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.10 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.9 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.8 test/models/workarea/navigation/breadcrumbs_test.rb
workarea-core-3.5.7 test/models/workarea/navigation/breadcrumbs_test.rb