[rspec-users] help on skipping a before_filter for a story

David Chelimsky dchelimsky at gmail.com
Mon Sep 8 22:51:38 EDT 2008


On Mon, Sep 8, 2008 at 9:47 PM, Jonathan Linowes
<jonathan at parkerhill.com> wrote:
>
> On Sep 8, 2008, at 8:49 PM, Eric Harris-Braun wrote:
>
>> Hi folks,
>>
>> I'm hoping for a bit of help on best-practices for skipping a
>> before_filter when running a particular step.  Specifically the
>> authentication filter.  What happens is that the post (see code below)
>> returns a redirect response to the login page triggered by the of my
>> authentication filter, rather than the contents of what I'd like to be
>> testing.
>>
>> How do people handle temporarily turning of this kind of thing that's
>> not relevant to the test?  Temporarily I've just put an unless RAILS_ENV
>> == 'test' after it, but obviouly that won't work for the specs that
>> actually test that before filter!
>>
>> Thanks for any help!
>>
>> -Eric
>>
>>  Given "$field in new entry is $field_value" do |field,field_value|
>>    @params ||= {}
>>    @params[field.intern] = field_value
>>  end
>>
>>  When "submitting the new entry" do
>>    post "/entry", :record => @params
>>  end
>>
>>  Then "should include confirmation: $message" do |message|
>>    response.should have_text(/#{message}/)
>>  end
>
> If your controller has this
>
>        :before_filter :login_required
>
> and say, login_required is defined in application.rb, then your controller
> spec can stub it out
>
>        controller.stub!(:login_required).and_return(true)

This is true in a controller spec, but Eric was asking about story
steps where this won't work.

Cheers,
David


More information about the rspec-users mailing list