I might have a flawed understanding of what shared_examples_for
should do, but hear me out.
Basically, I have a common navigation bar that appears in
Not sure what your issue is really, but how necessary is the describe block in the shared example? That's my first stab.
This code works for me.
shared_examples_for 'all pages' do
# the following two would be navs for all pages
it { should have_selector 'h1', text: 'About' }
it { should have_selector 'a', text: 'Songs' }
# these would be dynamic depending on the page
it { should have_selector('h1', text: header) }
it { should have_selector('title', text: full_title(title)) }
end
describe "About" do
before { visit about_path }
let(:title) {'About'}
let(:header) {'About Site'}
it_should_behave_like 'all pages'
end
describe "Songs" do
before { visit songs_path }
let(:title) { 'Songs Title' }
let(:header) { 'Songs' }
it_should_behave_like 'all pages'
end