# frozen_string_literal: true require 'test_helper' class CandidateControllerTest < ActionDispatch::IntegrationTest test "should get login" do get login_path assert_response :success refute flash[:error].present?, "Should not be displaying an error message" end test "should require auth and redirect" do get saved_path assert_redirected_to login_path get thankyou_path assert_redirected_to login_path end test "should auth to welcome" do auth_candidate candidates(:martha) assert_redirected_to welcome_path assert session[:test_id].present? refute flash[:error].present?, "Should not be displaying an error message" end test "should auth directly to welcome" do get login_path(candidates(:martha).test_hash) assert_redirected_to welcome_path assert session[:test_id].present? refute flash[:error].present?, "Should not be displaying an error message" end test "should display welcome view" do auth_candidate candidates(:martha) get welcome_path assert_select 'h1', "Welcome!" end test "should display welcome back view" do auth_candidate candidates(:roy) get welcome_path assert_select 'h1', "Welcome Back" end test "should redirect to thankyou when completed" do auth_candidate candidates(:richard) assert_redirected_to thankyou_path end test 'should reset session' do auth_candidate candidates(:dawn) get thankyou_path assert :success assert session[:test_id].nil? end end