test: get interview details for applicant dashboard
- rectify tests as per new rating field changes (fractional and configurable)
This commit is contained in:
parent
d96f4bf628
commit
d98290bfb9
@ -12,6 +12,7 @@ from frappe.utils import add_days, getdate, nowtime
|
|||||||
|
|
||||||
from erpnext.hr.doctype.designation.test_designation import create_designation
|
from erpnext.hr.doctype.designation.test_designation import create_designation
|
||||||
from erpnext.hr.doctype.interview.interview import DuplicateInterviewRoundError
|
from erpnext.hr.doctype.interview.interview import DuplicateInterviewRoundError
|
||||||
|
from erpnext.hr.doctype.job_applicant.job_applicant import get_interview_details
|
||||||
from erpnext.hr.doctype.job_applicant.test_job_applicant import create_job_applicant
|
from erpnext.hr.doctype.job_applicant.test_job_applicant import create_job_applicant
|
||||||
|
|
||||||
|
|
||||||
@ -70,6 +71,20 @@ class TestInterview(unittest.TestCase):
|
|||||||
email_queue = frappe.db.sql("""select * from `tabEmail Queue`""", as_dict=True)
|
email_queue = frappe.db.sql("""select * from `tabEmail Queue`""", as_dict=True)
|
||||||
self.assertTrue("Subject: Interview Feedback Reminder" in email_queue[0].message)
|
self.assertTrue("Subject: Interview Feedback Reminder" in email_queue[0].message)
|
||||||
|
|
||||||
|
def test_get_interview_details_for_applicant_dashboard(self):
|
||||||
|
job_applicant = create_job_applicant()
|
||||||
|
interview = create_interview_and_dependencies(job_applicant.name)
|
||||||
|
|
||||||
|
details = get_interview_details(job_applicant.name)
|
||||||
|
self.assertEqual(details.get('stars'), 5)
|
||||||
|
self.assertEqual(details.get('interviews').get(interview.name), {
|
||||||
|
'name': interview.name,
|
||||||
|
'interview_round': interview.interview_round,
|
||||||
|
'expected_average_rating': interview.expected_average_rating * 5,
|
||||||
|
'average_rating': interview.average_rating * 5,
|
||||||
|
'status': 'Pending'
|
||||||
|
})
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
frappe.db.rollback()
|
frappe.db.rollback()
|
||||||
|
|
||||||
@ -106,7 +121,8 @@ def create_interview_round(name, skill_set, interviewers=[], designation=None, s
|
|||||||
interview_round = frappe.new_doc("Interview Round")
|
interview_round = frappe.new_doc("Interview Round")
|
||||||
interview_round.round_name = name
|
interview_round.round_name = name
|
||||||
interview_round.interview_type = create_interview_type()
|
interview_round.interview_type = create_interview_type()
|
||||||
interview_round.expected_average_rating = 4
|
# average rating = 4
|
||||||
|
interview_round.expected_average_rating = 0.8
|
||||||
if designation:
|
if designation:
|
||||||
interview_round.designation = designation
|
interview_round.designation = designation
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ class TestInterviewFeedback(unittest.TestCase):
|
|||||||
create_skill_set(['Leadership'])
|
create_skill_set(['Leadership'])
|
||||||
|
|
||||||
interview_feedback = create_interview_feedback(interview.name, interviewer, skill_ratings)
|
interview_feedback = create_interview_feedback(interview.name, interviewer, skill_ratings)
|
||||||
interview_feedback.append("skill_assessment", {"skill": 'Leadership', 'rating': 4})
|
interview_feedback.append("skill_assessment", {"skill": 'Leadership', 'rating': 0.8})
|
||||||
frappe.set_user(interviewer)
|
frappe.set_user(interviewer)
|
||||||
|
|
||||||
self.assertRaises(frappe.ValidationError, interview_feedback.save)
|
self.assertRaises(frappe.ValidationError, interview_feedback.save)
|
||||||
@ -50,7 +50,7 @@ class TestInterviewFeedback(unittest.TestCase):
|
|||||||
|
|
||||||
avg_rating = flt(total_rating / len(feedback_1.skill_assessment) if len(feedback_1.skill_assessment) else 0)
|
avg_rating = flt(total_rating / len(feedback_1.skill_assessment) if len(feedback_1.skill_assessment) else 0)
|
||||||
|
|
||||||
self.assertEqual(flt(avg_rating, 3), feedback_1.average_rating)
|
self.assertEqual(flt(avg_rating, 2), flt(feedback_1.average_rating, 2))
|
||||||
|
|
||||||
avg_on_interview_detail = frappe.db.get_value('Interview Detail', {
|
avg_on_interview_detail = frappe.db.get_value('Interview Detail', {
|
||||||
'parent': feedback_1.interview,
|
'parent': feedback_1.interview,
|
||||||
@ -59,7 +59,7 @@ class TestInterviewFeedback(unittest.TestCase):
|
|||||||
}, 'average_rating')
|
}, 'average_rating')
|
||||||
|
|
||||||
# 1. average should be reflected in Interview Detail.
|
# 1. average should be reflected in Interview Detail.
|
||||||
self.assertEqual(avg_on_interview_detail, feedback_1.average_rating)
|
self.assertEqual(flt(avg_on_interview_detail, 2), flt(feedback_1.average_rating, 2))
|
||||||
|
|
||||||
'''For Second Interviewer Feedback'''
|
'''For Second Interviewer Feedback'''
|
||||||
interviewer = interview.interview_details[1].interviewer
|
interviewer = interview.interview_details[1].interviewer
|
||||||
@ -97,5 +97,5 @@ def get_skills_rating(interview_round):
|
|||||||
|
|
||||||
skills = frappe.get_all("Expected Skill Set", filters={"parent": interview_round}, fields = ["skill"])
|
skills = frappe.get_all("Expected Skill Set", filters={"parent": interview_round}, fields = ["skill"])
|
||||||
for d in skills:
|
for d in skills:
|
||||||
d["rating"] = random.randint(1, 5)
|
d["rating"] = random.random()
|
||||||
return skills
|
return skills
|
||||||
|
Loading…
x
Reference in New Issue
Block a user