Testing devise with shoulda
-
27-09-2019 - |
Question
I'm having some difficulties in testing devise with shoulda:
2) Error:
test: handle :index logged as admin should redirect to Daily page.
(Admin::DailyClosesControllerTest):
NoMethodError: undefined method `env' for nil:NilClass
devise (1.0.6) [v] lib/devise/test_helpers.rb:52:in
`setup_controller_for_warden'
I have this in my test_helper:
include Devise::TestHelpers
Thoughts ? Thanks in advance,
Cristi
Solution
include Devise::TestHelpers
doesn't go in the test_helper.rb file, but rather inside the scope of the individual testing classes. Just like their README shows:
class ActionController::TestCase
include Devise::TestHelpers
end
OTHER TIPS
I'm not sure if rspeicher is fully correct, but putting:
class ActionController::TestCase
include Devise::TestHelpers
end
at the very bottom of test_helper.rb (yes after the END
of the class ActiveSupport::TestCase
) should work. It has for 3 or 4 projects of mine so far, including one i'm working on today.
You then can use sign_in users(:one)
if you are using fixtures, in your tests. Unless shoulda is messing it up?
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow