# 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