[rspec-users] Problem with testing Rails action that uses return keyword

szimek szimek at gmail.com
Tue May 19 17:13:09 EDT 2009


Hi,

I'm trying to test Rails action that looks like this:

def create
  unless facebook_session
    authentication_failed and return
  end
  ...
  @facebook_user = facebook_session.user
  ...
end

authentication_failed method redirects to '/'.

The test looks like this:

it 'should call authentication_failed' do
  controller.should_receive(:authentication_failed)
  get :create
end

The problem is that in the test, despite the fact that
facebook_session is nil and the authentication_failed method is
called, the action does not return and I got error in
facebook_session.user line, because facebook_session is nil.

If I move the return keyword to the next line, the test complains then
about missing create.erb template.

Any ideas how to solve it?


More information about the rspec-users mailing list