deliver_later for controller actions.

This commit is contained in:
Mark Moser
2016-09-14 14:38:26 -05:00
parent d54b99135e
commit 9db007489f
10 changed files with 31 additions and 32 deletions

View File

@ -3,6 +3,8 @@ require 'test_helper'
module Admin
class AuthControllerTest < ActionDispatch::IntegrationTest
include ActiveJob::TestHelper
test "should get login" do
get admin_login_url
assert_response :success
@ -45,7 +47,7 @@ module Admin
test "should process a reset request" do
user = users(:admin)
assert_difference("ActionMailer::Base.deliveries.size", 1) do
assert_enqueued_jobs 1 do
post admin_send_reset_url, params: { auth: { email: user.email } }
end
refute_equal user.reset_token, User.find(user.id).reset_token

View File

@ -3,6 +3,8 @@ require 'test_helper'
module Admin
class UserControllerTest < ActionDispatch::IntegrationTest
include ActiveJob::TestHelper
def setup
post admin_auth_url, params: { auth:
{ email: 'alan.admin@mailinator.com', password: 'password' } }
@ -29,7 +31,7 @@ module Admin
end
test "should post create" do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
assert_enqueued_jobs 1 do
assert_difference("User.count", 1) do
post admin_create_user_url, params: { user:
{ email: 'new.user@mailinator.com', name: 'New User', role: 'reviewer' } }

View File

@ -2,6 +2,8 @@
require 'test_helper'
class CandidateControllerTest < ActionDispatch::IntegrationTest
include ActiveJob::TestHelper
def setup_auth candidate
post validate_candidate_url, params: { test_id: candidate.test_hash }
end
@ -74,7 +76,7 @@ class CandidateControllerTest < ActionDispatch::IntegrationTest
test "should NOT send mailers on submission" do
setup_auth candidates(:dawn)
assert_difference("ActionMailer::Base.deliveries.size", 0) do
assert_enqueued_jobs 0 do
post post_summary_path
end
assert_redirected_to summary_path
@ -84,7 +86,7 @@ class CandidateControllerTest < ActionDispatch::IntegrationTest
test "should send mailers on submission" do
setup_auth candidates(:peggy)
assert_difference("ActionMailer::Base.deliveries.size", 3) do
assert_enqueued_jobs 3 do
post post_summary_path
end
assert_redirected_to thankyou_path

View File

@ -17,11 +17,6 @@ class QuizControllerTest < ActionDispatch::IntegrationTest
assert_redirected_to login_path
end
# TODO: test models/candidate.complete! == false
# test 'should gracefully fail on summary submit' do
# # if the mailers fail, should go to thank you still
# end
test "should redirect to saved on save" do
setup_auth candidates(:dawn)
qid = questions(:fed5).id

View File

@ -2,6 +2,8 @@
require 'test_helper'
class RecruiterControllerTest < ActionDispatch::IntegrationTest
include ActiveJob::TestHelper
def setup_auth
post recruiter_auth_url, params: { auth:
{ email: 'pdr.recruiter@mailinator.com', password: 'password' } }
@ -68,7 +70,7 @@ class RecruiterControllerTest < ActionDispatch::IntegrationTest
test "should create new candidate" do
setup_auth
assert_difference("ActionMailer::Base.deliveries.size", 2) do
assert_enqueued_jobs 2 do
assert_difference("Candidate.count") do
post create_candidate_path, params: { candidate:
{ name: 'new name', email: 'test@mailinator.com', experience: '0-3', quiz_id: quizzes(:fed).id } }
@ -81,7 +83,7 @@ class RecruiterControllerTest < ActionDispatch::IntegrationTest
test "should fail creation with improper email format" do
setup_auth
assert_difference("ActionMailer::Base.deliveries.size", 0) do
assert_enqueued_jobs 0 do
assert_difference("Candidate.count", 0) do
post create_candidate_path, params: { candidate:
{ name: 'new name', email: 'test@mailinatorcom', experience: '0-3', quiz_id: quizzes(:fed).id } }
@ -95,7 +97,7 @@ class RecruiterControllerTest < ActionDispatch::IntegrationTest
test "should fail creation gracefully with empty email" do
setup_auth
assert_difference("ActionMailer::Base.deliveries.size", 0) do
assert_enqueued_jobs 0 do
assert_difference("Candidate.count", 0) do
post create_candidate_path, params: { candidate:
{ name: 'new name', email: "", experience: '0-3', quiz_id: quizzes(:fed).id } }