Sha256: 936fc6da1d17be790636656c78cda8d1b9c2a87731debf4d27bd38cb80263257

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

# encoding: utf-8

require 'spec_helper'

RSpec.describe "crumbs routing" do
  include ActionView::TestCase::Behavior

  it "doens't show empty breadcrumbs" do
    visit root_path
    expect(page).to_not have_content("breadcrumbs")
  end

  it "inherits controller breadcrumb and adds index action breadcrumb" do
    visit posts_path
    within '#breadcrumbs' do
      expect(page.html).to include('<a href="/">Home</a>')
      expect(page.html).to include('<a href="/posts">All Posts</a>')
    end
  end

  it 'filters out controller breadcrumb and adds new action breadcrumb' do
    visit new_post_path
    within '#breadcrumbs' do
      expect(page).to_not have_content('Home')
      expect(page).to have_content('New Post')
    end
  end

  it "adds breadcrumb in view with path variable" do
    visit post_path(1)
    within '#breadcrumbs' do
      expect(page.html).to include('<a href="/posts/1">Show Post in view</a>')
    end
  end

  it 'is current when forced' do
    visit new_post_path
    click_button "Create"

    expect(page.current_path).to eq(posts_path)
    within '#breadcrumbs' do
      expect(page).to have_content('New Post')
      expect(page).to have_selector('.selected')
    end
  end

  it "allows for procs in name and url" do
    visit post_comments_path(1)
    within '#breadcrumbs' do
      expect(page.html).to include('<a href="/posts/1/comments">Post comments</a>')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
loaf-0.5.0 spec/integration/crumbs_routing_spec.rb