# encoding: utf-8 RSpec.describe "breadcrumbs trail" do include ActionView::TestCase::Behavior it "shows root breadcrumb" do visit root_path within '#breadcrumbs .selected' do expect(page.html).to include('Home') end end it "inherits controller breadcrumb and adds index action breadcrumb" do visit posts_path within '#breadcrumbs' do expect(page.html).to include('Home') within '.selected' do expect(page.html).to include('All Posts') end 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 .selected' do expect(page.html).to include('Show Post in view') end end it 'is current when forced' do visit new_post_path expect(page.current_path).to eq(new_post_path) within '#breadcrumbs' do expect(page).to have_selector('li.selected', count: 2) expect(page.html).to include('All') expect(page.html).to include('New Post') end end it "allows for procs in name and url" do visit post_comments_path(1) within '#breadcrumbs .selected' do expect(page.html).to include('Post comments') end end it "allows for procs in name and url without supplying the controller" do visit post_comments_path(1) within "#breadcrumbs .selected" do expect(page.html).to include( ''\ "Post comments No Controller" ) end end end