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 index page and new page of Forum. So I want tests for navigation bar to perform for both index page and new page. I was hoping that code below using shared_examples_for would accomplish that. But what happened was that, test cases in shared_examples_for simply is not running. To check I created failing test case within the shared_examples_for scope, but the tests didn’t fail.
What am I doing wrong?
require 'spec_helper'
describe "Forums" do
subject { page }
shared_examples_for "all forum pages" do
describe "should have navigation header" do
it { should have_selector('nav ul li a', text:'Home') }
it { should have_selector('nav ul li a', text:'About') }
end
end
describe "Index forum page" do
before { visit root_path }
...
end
describe "New forum page" do
before { visit new_forum_path }
...
end
end
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.