I have just begun with testing Devise. I am unable to understand of why i am getting this error ::
Failure/Error: subject.current_user.should_not be_nil
Ar
uncaught throw :warden
happens when authenticate_user!
fails.
Figure out why your the user's authentication is a failing, and you'll have solved your problem.
I see this is a very old question, but I came across similar issue. This is what helped me.
If you're using confirmable
module, don't forget to confirm user, otherwise the Warden exception is thrown. Appropriate change to your code would be:
before(:each) do
user = Factory(:user)
user.confirmed_at = Time.zone.now
user.save
@request.env["devise.mapping"] = Devise.mappings[:user]
sign_in user
end
More info could be found in Devise Wiki