I have a Rails controller that I am using ‘before_filter’ on certain
actions
to assign some extra variables. I noticed the ‘shared_examples_for’
method
and thought this would be a good way to test that the given actions are
loading what they need. I wrote the following:
shared_examples_for ‘pages showing the yearly archive’ do
it 'should assign a list of yearly archives' do
Factory.create(:post, :published_at => Time.local(2009,02,01))
Factory.create(:post, :published_at => Time.local(2009,01,01))
Factory.create(:post, :published_at => Time.local(2008,01,01))
Factory.create(:post, :published_at => Time.local(2007,01,01))
Factory.create(:post, :published_at => Time.local(2001,01,01))
get :index
assigns[:years].should == [ 2009, 2008, 2007, 2001 ]
end
end
The problem is, it is specific to the ‘index’ action. I can’t use the
‘it_should_behave_like “pages showing the yearly archive”’ for other
actions.
Am I just doing this wrong or is there a way to fix this?
- Stephen H. Gerstacker