On Tue, May 26, 2009 at 4:32 PM, Hunt Jon <jona.hunt...@gmail.com> wrote:
> I need to spec the following lines:
>
>  helper :all # include all helpers, all the time
>  protect_from_forgery # See
> ActionController::RequestForgeryProtection for detail
>
> Can anybody give me a hint?
>
> I create "application_controller_spec.rb" and now what?
>
> Jon

You shouldn't need to spec those two lines specifically.
What you want to do is spec the behaviour.

So if you want a particular helper method to be available, write a
spec that relies on that helper method (in another controller because
they all use ApplicationController). If you then take out helper :all,
your spec may fail (don't know, never tried)
If it doesn't, well then you don't need the line :-)

For protect_from_forgery, again spec the behaviour you expect (again,
in a different controller spec)
If you take out the line and your code still works, you don't need the line.
If you take it out and the spec breaks, you know you've tested the
behaviour you want, and not a line!

I never spec either of these lines because their behaviour is tested
in the Rails code. I am only concerned with testing my applications
and the behaviour I want out of them.

As an aside, if you're concerned about code coverage, both lines
should execute with every controller test as they must execute while
creating the ApplicationController class.

Regards

Andrew Timberlake
http://ramblingsonrails.com

http://MyMvelope.com - The SIMPLE way to manage your savings
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to