Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails 4 + Rspec + Devise: undefined method 'env' in controller specs for sign_in a user

In my spec_helper.rb I've added

config.include Devise::TestHelpers, :type => :controller

In controller spec before :all hook I'am trying to sign in user with this code

 @request.env["devise.mapping"] = Devise.mappings[:user]
 user = FactoryGirl.create(:confirmed_user)
 sign_in user

and get NoMethodError: undefined method `env' for nil:NilClass.

Any ideas?

like image 319
Shkarik Avatar asked Oct 21 '13 08:10

Shkarik


1 Answers

I've changed before(:all) to before(:each), and now it works. Looks like API incompatibility between devise (used github master branch) and rspec 2.14.1.

like image 122
Shkarik Avatar answered Oct 06 '22 00:10

Shkarik