recruiter notification on interview status change re: #85
This commit is contained in:
@ -3,6 +3,8 @@ require 'test_helper'
|
||||
|
||||
module Admin
|
||||
class VoteControllerTest < ActionDispatch::IntegrationTest
|
||||
include ActiveJob::TestHelper
|
||||
|
||||
test "reviewer can up vote henry" do
|
||||
auth_user users(:reviewer)
|
||||
henry = candidates(:henry)
|
||||
@ -42,18 +44,33 @@ module Admin
|
||||
get admin_approve_vote_url(henry.test_hash)
|
||||
|
||||
assert_equal 1, henry.votes.approved.count
|
||||
assert_equal 'approved', Candidate.find(henry.to_i).review_status
|
||||
assert_equal 'approved', Candidate.find(henry.to_i).review_status, xhr: true
|
||||
assert_response :success
|
||||
data = JSON.parse(response.body)
|
||||
assert_match 'requested', data["message"]
|
||||
end
|
||||
|
||||
test "manager can decline henry" do
|
||||
auth_user users(:manager)
|
||||
henry = candidates(:henry)
|
||||
get admin_decline_vote_url(henry.test_hash)
|
||||
get admin_decline_vote_url(henry.test_hash), xhr: true
|
||||
|
||||
assert_equal 1, henry.votes.rejected.count
|
||||
assert_equal 'declined', Candidate.find(henry.to_i).review_status
|
||||
assert_response :success
|
||||
data = JSON.parse(response.body)
|
||||
assert_match 'declined', data["message"]
|
||||
end
|
||||
|
||||
test "should queue up a notification when manager approves henry" do
|
||||
auth_user users(:manager)
|
||||
henry = candidates(:henry)
|
||||
assert_enqueued_jobs 1 do
|
||||
get admin_approve_vote_url(henry.test_hash), xhr: true
|
||||
end
|
||||
assert_response :success
|
||||
data = JSON.parse(response.body)
|
||||
assert_match 'requested', data["message"]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -8,4 +8,12 @@ class RecruiterMailerPreview < ActionMailer::Preview
|
||||
def candidate_submitted
|
||||
RecruiterMailer.candidate_submitted Candidate.find_by(test_hash: 'OvP0ZqGKwJ0') # Dawn
|
||||
end
|
||||
|
||||
def interview_requested
|
||||
RecruiterMailer.interview_requested Candidate.find_by(test_hash: '6NjnourLE6Y') # Richard
|
||||
end
|
||||
|
||||
def interview_declined
|
||||
RecruiterMailer.interview_declined Candidate.find_by(test_hash: 's6oFExZliYYFx') # Stacy
|
||||
end
|
||||
end
|
||||
|
@ -19,4 +19,22 @@ class RecruiterMailerTest < ActionMailer::TestCase
|
||||
assert_equal [ENV["default_mail_from"]], mail.from
|
||||
assert_match candidate.name, mail.body.encoded
|
||||
end
|
||||
|
||||
test "interview_requested" do
|
||||
candidate = candidates :richard
|
||||
mail = RecruiterMailer.interview_requested candidate
|
||||
assert_match candidate.name, mail.subject
|
||||
assert_equal [candidate.recruiter.email], mail.to
|
||||
assert_equal [ENV["default_mail_from"]], mail.from
|
||||
assert_match candidate.name, mail.body.encoded
|
||||
end
|
||||
|
||||
test "interview_declined" do
|
||||
candidate = candidates :stacy
|
||||
mail = RecruiterMailer.interview_declined candidate
|
||||
assert_match candidate.name, mail.subject
|
||||
assert_equal [candidate.recruiter.email], mail.to
|
||||
assert_equal [ENV["default_mail_from"]], mail.from
|
||||
assert_match candidate.name, mail.body.encoded
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user