I had some issues trying to use a symbol
session[:user_credentials_id]
vs. a string
session["user_credentials_id"]
Here is my solution:
require 'test_helper' class LoginTest < ActionController::IntegrationTest context 'A user' do setup do @user = Factory(:user) # puts @user.inspect end should 'be able to login with a valid username and password' do visit '/user_session/new' assert_equal '/user_session/new', path fill_in 'Login', :with => @user.login fill_in 'Password', :with => @user.password click_button 'Login' # puts "user.id: #{@user.id}" # puts "session: #{session.inspect}" # puts "session[:user_credentials_id] #{session["user_credentials_id"]}" assert_equal @user.id, session["user_credentials_id"] end should 'be denied access with an invalid username or password' do visit '/user_session/new' assert_equal '/user_session/new', path fill_in 'Login', :with => @user.login fill_in 'Password', :with => 'wrongpassord' click_button 'Login' assert_nil session["user_credentials_id"] end end end