Hi,
I’ve got a lot of rspec controller tests. At the beginning of each
controller, I have:
def authenticate
…
end
def logout
…
end
Authenticates creates me a @current_user, logout destroys the
@current_user.
As I said, this code is at the beginning of each controller, not very
DRY

Any hints for me, where to put this code and how to integrate it in my
tests, to not always rewrite this two methods?
Regards
sewid
Authenticates creates me a @current_user, logout destroys the @current_user. As
I said, this code is at the beginning of each controller, not very DRY 
Any hints for me, where to put this code and how to integrate it in my tests, to
not always rewrite this two methods?
You could create a file in spec/support/current_user.rb (or whatever,
doesn’t matter as long as it’s in spec/support/*.rb) and put them in
there. Then they’ll be available to all your specs…
You can include helper modules in your spec_helper file:
RSpec.configure do |config|
config.include MySpec::SessionsHelper, :type => :controller,
:example_group => {
:file_path => config.escaped_path(%w[spec controllers])
}
end
This will include the MySpec::SessionsHelper in all of your controller
tests automatically. Then you just have to define your module in the
spec/support folder (which should be loaded by RSpec automatically if
you’re using the RSpec generated spec_helper file.)
spec/support/sessions_helper.rb
module MySpec
module SessionsHelper
def authenticate …
def logout …
end
end
S. Widmann wrote in post #981233:
Hi,
I’ve got a lot of rspec controller tests. At the beginning of each
controller, I have:
def authenticate
…
end
def logout
…
end