Skip to content

Commit

Permalink
fix: interview reminder settings not respected (#1175)
Browse files Browse the repository at this point in the history
* fix: interview reminder settings not respected

* test: interview reminder settings

(cherry picked from commit af8fbf4)
  • Loading branch information
ruchamahabal authored and mergify[bot] committed Dec 13, 2023
1 parent 335ba95 commit a0dfc0f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 11 deletions.
6 changes: 3 additions & 3 deletions hrms/hr/doctype/interview/interview.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import frappe
from frappe import _
from frappe.model.document import Document
from frappe.utils import cstr, flt, get_datetime, get_link_to_form, getdate, nowtime
from frappe.utils import cint, cstr, flt, get_datetime, get_link_to_form, getdate, nowtime


class DuplicateInterviewRoundError(frappe.ValidationError):
Expand Down Expand Up @@ -163,7 +163,7 @@ def send_interview_reminder():
as_dict=True,
)

if not reminder_settings.send_interview_reminder:
if not cint(reminder_settings.send_interview_reminder):
return

remind_before = cstr(frappe.db.get_single_value("HR Settings", "remind_before")) or "01:00:00"
Expand Down Expand Up @@ -211,7 +211,7 @@ def send_daily_feedback_reminder():
as_dict=True,
)

if not reminder_settings.send_interview_feedback_reminder:
if not cint(reminder_settings.send_interview_feedback_reminder):
return

interview_feedback_template = frappe.get_doc(
Expand Down
26 changes: 18 additions & 8 deletions hrms/hr/doctype/interview/test_interview.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,15 @@ def test_notification_for_scheduling(self):

interview = create_interview_and_dependencies(job_applicant.name, scheduled_on=scheduled_on)

frappe.db.sql("DELETE FROM `tabEmail Queue`")
send_interview_reminder()
frappe.db.delete("Email Queue")

interview.reload()
frappe.db.set_single_value("HR Settings", "send_interview_reminder", 0)
send_interview_reminder()
self.assertFalse(get_email_by_subject("Subject: Interview Reminder"))

email_queue = frappe.db.sql("""select * from `tabEmail Queue`""", as_dict=True)
self.assertTrue("Subject: Interview Reminder" in email_queue[0].message)
frappe.db.set_single_value("HR Settings", "send_interview_reminder", 1)
send_interview_reminder()
self.assertTrue(get_email_by_subject("Subject: Interview Reminder"))

def test_notification_for_feedback_submission(self):
from hrms.hr.doctype.interview.interview import send_daily_feedback_reminder
Expand All @@ -80,11 +82,15 @@ def test_notification_for_feedback_submission(self):
job_applicant.name, scheduled_on=scheduled_on, status="Under Review"
)

frappe.db.sql("DELETE FROM `tabEmail Queue`")
frappe.db.delete("Email Queue")

frappe.db.set_single_value("HR Settings", "send_interview_feedback_reminder", 0)
send_daily_feedback_reminder()
self.assertFalse(get_email_by_subject("Subject: Interview Feedback Reminder"))

email_queue = frappe.db.sql("""select * from `tabEmail Queue`""", as_dict=True)
self.assertTrue("Subject: Interview Feedback Reminder" in email_queue[0].message)
frappe.db.set_single_value("HR Settings", "send_interview_feedback_reminder", 1)
send_daily_feedback_reminder()
self.assertTrue(get_email_by_subject("Subject: Interview Feedback Reminder"))

def test_get_interview_details_for_applicant_dashboard(self):
job_applicant = create_job_applicant()
Expand Down Expand Up @@ -224,3 +230,7 @@ def setup_reminder_settings():
hr_settings.interview_reminder_template = _("Interview Reminder")
hr_settings.feedback_reminder_notification_template = _("Interview Feedback Reminder")
hr_settings.save()


def get_email_by_subject(subject: str) -> bool:
return frappe.db.exists("Email Queue", {"message": ("like", f"%{subject}%")})

0 comments on commit a0dfc0f

Please sign in to comment.