On Tuesday, April 17, 2012 at 2:30 PM, Nasir Jamal wrote:
>
> Hi
>
> We have just upgraded our Rails 2.3.11 app to Rails 3.0.0 and Rspec 1.3.2 to
> 2.6. We are having two problems with rspec currently and any help would be
> great.
>
> 1) We have some controller macros where we have been using the controller
> object, session hash, response, etc. in different methods for e.g.
>
> module ControllerMacros
> def imaginary_method_with_example_calls
> # in actual code different methods call one of the below, this is just
> an example of things not working
> controller.stubs(:method)
> controller.class.skip_before_filter(:name)
> session[:user_id] = user.id
> response.something
> end
> end
>
> But now after upgrading to Rspec 2.6 they do not work and calling controller
> just returns nil and hence undefined method 'skip_before_filter' for NilClass
> error. I did google but found nothing regarding this.
Is imaginary_method_with_example_calls called in a config.before hook? If so,
the issue is that controller is nil [1]. This has been fixed on master, but not
yet released (look for the 2.10 release in the next couple of weeks.
> 2) Changing 'request.request_uri' to 'request.full_path' raises the following
> error when running rspec
> NoMethodError:
> undefined method `full_path' for
> #<ActionController::TestRequest:0x1bfa46f8>
I'd check the rails docs for this one. I'm not immediately familiar w/ what's
going on.
HTH,
David
[1] https://github.com/rspec/rspec-rails/issues/391
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users