53 lines
1.2 KiB
Ruby
53 lines
1.2 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
require 'test_helper'
|
||
|
|
||
|
class QuizControllerTest < ActionDispatch::IntegrationTest
|
||
|
include ActiveJob::TestHelper
|
||
|
|
||
|
test 'summary should require auth and redirect' do
|
||
|
get summary_path
|
||
|
assert_redirected_to login_path
|
||
|
end
|
||
|
|
||
|
test "should get summary" do
|
||
|
auth_candidate candidates :dawn
|
||
|
get summary_path
|
||
|
|
||
|
assert_response :success
|
||
|
assert assigns(:quiz), '@quiz not present'
|
||
|
end
|
||
|
|
||
|
test "should get summary if complete but not submitted" do
|
||
|
auth_candidate candidates(:dawn)
|
||
|
|
||
|
get summary_url
|
||
|
assert_response :success
|
||
|
end
|
||
|
|
||
|
test "should redirect from summary" do
|
||
|
auth_candidate candidates :roy
|
||
|
get summary_path
|
||
|
|
||
|
assert_redirected_to question_path
|
||
|
end
|
||
|
|
||
|
test "should NOT send mailers on submission" do
|
||
|
auth_candidate candidates(:dawn)
|
||
|
|
||
|
assert_enqueued_jobs 0 do
|
||
|
post post_summary_path
|
||
|
end
|
||
|
assert_redirected_to summary_path
|
||
|
assert_match 'must complete', flash[:error]
|
||
|
end
|
||
|
|
||
|
test "should send mailers on submission" do
|
||
|
auth_candidate candidates(:peggy)
|
||
|
|
||
|
assert_enqueued_jobs 3 do
|
||
|
post post_summary_path
|
||
|
end
|
||
|
assert_redirected_to thankyou_path
|
||
|
end
|
||
|
end
|