[rspec-users] Controller specs and Middleware on Rails
dchelimsky at gmail.com
Tue Feb 9 16:54:28 EST 2010
2010/2/9 Román González <romanandreg at gmail.com>:
> Hey guys,
> I'm having some problems on my controller specs regarding authentication.
> Previously I was using restful_authentication on the project, but after a
> major refactoring we changed the authentication code to
> "Warden":http://github.com/hassox/warden (Rack Middleware authentication).
> When the controller specs are executed, they fail because there is not a
> variable on the request's env set by the Warden middleware. I've read on a
> previous message that I probably should use an integration test in order to
> tests this, I used cucumber and test everything successfully. However all my
> legacy rspec controller tests (that depended on a current_user) are now
> Is there a way to patch the rSpec controller API to include this middleware
> on each test request?
Controller specs don't go through rack in rails 2, so not really.
There are integration specs, which wrap the rails integration test API
so you can do anything you can do in a rails integration test. Just
move the files over to spec/integration, convert the requests from
"get :index" to "get 'path/to/index'"and you should be pretty much
good to go.
Let us know how that works out.
More information about the rspec-users