57 lines
1.6 KiB
Ruby
57 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
require 'test_helper'
|
|
|
|
class CandidateTest < ActiveSupport::TestCase
|
|
test "test_hash is auto generated" do
|
|
candidate = Candidate.create(name: 'new name',
|
|
email: 'test@mailinator.com',
|
|
experience: '0-3',
|
|
project: 'Client',
|
|
quiz_id: quizzes(:fed).id)
|
|
|
|
assert candidate.test_hash.present?
|
|
end
|
|
|
|
test "should encrypt emails" do
|
|
email = 'test@mailinator.com'
|
|
candidate = Candidate.create(name: 'new name',
|
|
email: email,
|
|
experience: '0-3',
|
|
project: 'Client',
|
|
position: 'full-time',
|
|
recruiter_id: users(:recruiter).id,
|
|
quiz_id: quizzes(:fed).id)
|
|
|
|
sql = "select email from candidates where id = #{candidate.id};"
|
|
enc_email = ActiveRecord::Base.connection.execute(sql).first.first
|
|
|
|
refute_equal email, enc_email
|
|
end
|
|
|
|
test "can build reviewer records" do
|
|
candidate = candidates(:dawn)
|
|
|
|
candidate.build_reviews
|
|
assert_equal 3, candidate.votes.count
|
|
end
|
|
|
|
test 'can get last answer timestamp' do
|
|
candidate = candidates(:roy)
|
|
roy_last = answers(:roy2).updated_at
|
|
|
|
assert_equal roy_last, candidate.last_answered_at
|
|
end
|
|
|
|
test 'gillian is stale with no answers' do
|
|
candidate = candidates(:gillian)
|
|
|
|
assert candidate.stale?
|
|
end
|
|
|
|
test 'roy is stale with answers' do
|
|
candidate = candidates(:roy)
|
|
|
|
assert candidate.stale?
|
|
end
|
|
end
|