fix: tests and sider issues
diff --git a/erpnext/hr/doctype/exit_interview/exit_interview.json b/erpnext/hr/doctype/exit_interview/exit_interview.json
index 86720a1..989a1b8 100644
--- a/erpnext/hr/doctype/exit_interview/exit_interview.json
+++ b/erpnext/hr/doctype/exit_interview/exit_interview.json
@@ -120,8 +120,8 @@
    "fieldname": "interviewers",
    "fieldtype": "Table MultiSelect",
    "label": "Interviewers",
-   "options": "Interviewer",
-   "reqd": 1
+   "mandatory_depends_on": "eval:doc.status==='Scheduled';",
+   "options": "Interviewer"
   },
   {
    "fetch_from": "employee.date_of_joining",
@@ -218,7 +218,7 @@
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2021-12-07 14:08:29.355390",
+ "modified": "2021-12-07 23:39:22.645401",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Exit Interview",
diff --git a/erpnext/hr/doctype/exit_interview/test_exit_interview.py b/erpnext/hr/doctype/exit_interview/test_exit_interview.py
index 8eeb4a1..b31d593 100644
--- a/erpnext/hr/doctype/exit_interview/test_exit_interview.py
+++ b/erpnext/hr/doctype/exit_interview/test_exit_interview.py
@@ -4,6 +4,7 @@
 import unittest
 
 import frappe
+from frappe import _
 from frappe.core.doctype.user_permission.test_user_permission import create_user
 from frappe.tests.test_webform import create_custom_doctype, create_webform
 from frappe.utils import getdate
@@ -13,6 +14,9 @@
 
 
 class TestExitInterview(unittest.TestCase):
+	def setUp(self):
+		frappe.db.sql('delete from `tabExit Interview`')
+
 	def test_duplicate_interview(self):
 		employee = make_employee('employeeexit1@example.com')
 		frappe.db.set_value('Employee', employee, 'relieving_date', getdate())
@@ -23,6 +27,8 @@
 
 	def test_relieving_date_validation(self):
 		employee = make_employee('employeeexit2@example.com')
+		# unset relieving date
+		frappe.db.set_value('Employee', employee, 'relieving_date', None)
 
 		interview = create_exit_interview(employee, save=False)
 		self.assertRaises(frappe.ValidationError, interview.save)
@@ -52,9 +58,13 @@
 	def test_send_exit_questionnaire(self):
 		create_custom_doctype()
 		create_webform()
+		template = create_notification_template()
 
 		webform = frappe.db.get_all('Web Form', limit=1)
-		frappe.db.set_value('HR Settings', 'HR Settings', 'exit_questionnaire_web_form', webform[0].name)
+		frappe.db.set_value('HR Settings', 'HR Settings', {
+			'exit_questionnaire_web_form': webform[0].name,
+			'exit_questionnaire_notification_template': template
+		})
 
 		employee = make_employee('employeeexit3@example.com')
 		frappe.db.set_value('Employee', employee, 'relieving_date', getdate())
@@ -87,3 +97,21 @@
 	if save:
 		return doc.insert()
 	return doc
+
+
+def create_notification_template():
+	template = frappe.db.exists('Email Template', _('Exit Questionnaire Notification'))
+	if not template:
+		base_path = frappe.get_app_path('erpnext', 'hr', 'doctype')
+		response = frappe.read_file(os.path.join(base_path, 'exit_interview/exit_questionnaire_notification_template.html'))
+
+		template = frappe.get_doc({
+			'doctype': 'Email Template',
+			'name': _('Exit Questionnaire Notification'),
+			'response': response,
+			'subject': _('Exit Questionnaire Notification'),
+			'owner': frappe.session.user,
+		}).insert(ignore_permissions=True)
+		template = template.name
+
+	return template
\ No newline at end of file
diff --git a/erpnext/hr/report/employee_exits/test_employee_exits.py b/erpnext/hr/report/employee_exits/test_employee_exits.py
index 1c64b46..d7e95a6 100644
--- a/erpnext/hr/report/employee_exits/test_employee_exits.py
+++ b/erpnext/hr/report/employee_exits/test_employee_exits.py
@@ -5,13 +5,16 @@
 
 from erpnext.hr.doctype.employee.test_employee import make_employee
 from erpnext.hr.doctype.exit_interview.test_exit_interview import create_exit_interview
-from erpnext.hr.doctype.full_and_final_statement.test_full_and_final_statement import create_full_and_final_statement
+from erpnext.hr.doctype.full_and_final_statement.test_full_and_final_statement import (
+	create_full_and_final_statement,
+)
 from erpnext.hr.report.employee_exits.employee_exits import execute
 
 
 class TestEmployeeExits(unittest.TestCase):
 	@classmethod
 	def setUpClass(cls):
+		create_company()
 		frappe.db.sql("delete from `tabEmployee` where company='Test Company'")
 		frappe.db.sql("delete from `tabFull and Final Statement` where company='Test Company'")
 		frappe.db.sql("delete from `tabExit Interview` where company='Test Company'")
@@ -24,26 +27,30 @@
 
 	@classmethod
 	def create_records(cls):
-		cls.emp1 = make_employee('employeeexit1@example.com',
+		cls.emp1 = make_employee(
+			'employeeexit1@example.com',
 			company='Test Company',
 			date_of_joining=getdate('01-10-2021'),
 			relieving_date=add_days(getdate(), 14),
 			designation='Accountant'
 		)
-		cls.emp2 = make_employee('employeeexit2@example.com',
+		cls.emp2 = make_employee(
+			'employeeexit2@example.com',
 			company='Test Company',
 			date_of_joining=getdate('01-12-2021'),
 			relieving_date=add_days(getdate(), 15),
 			designation='Accountant'
 		)
 
-		cls.emp3 = make_employee('employeeexit3@example.com',
+		cls.emp3 = make_employee(
+			'employeeexit3@example.com',
 			company='Test Company',
 			date_of_joining=getdate('02-12-2021'),
 			relieving_date=add_days(getdate(), 29),
 			designation='Engineer'
 		)
-		cls.emp4 = make_employee('employeeexit4@example.com',
+		cls.emp4 = make_employee(
+			'employeeexit4@example.com',
 			company='Test Company',
 			date_of_joining=getdate('01-12-2021'),
 			relieving_date=add_days(getdate(), 30),
@@ -90,34 +97,36 @@
 
 		employee1 = frappe.get_doc('Employee', self.emp1)
 		employee2 = frappe.get_doc('Employee', self.emp2)
-		expected_data = [{
-			'employee': employee1.name,
-			'employee_name': employee1.employee_name,
-			'date_of_joining': employee1.date_of_joining,
-			'relieving_date': employee1.relieving_date,
-			'department': employee1.department,
-			'designation': employee1.designation,
-			'reports_to': None,
-			'exit_interview': self.interview1.name,
-			'interview_status': self.interview1.status,
-			'employee_status': '',
-			'questionnaire': employee1.name,
-			'full_and_final_statement': self.fnf1.name
-		},
-		{
-			'employee': employee2.name,
-			'employee_name': employee2.employee_name,
-			'date_of_joining': employee2.date_of_joining,
-			'relieving_date': employee2.relieving_date,
-			'department': employee2.department,
-			'designation': employee2.designation,
-			'reports_to': None,
-			'exit_interview': self.interview2.name,
-			'interview_status': self.interview2.status,
-			'employee_status': '',
-			'questionnaire': employee2.name,
-			'full_and_final_statement': self.fnf2.name
-		}]
+		expected_data = [
+			{
+				'employee': employee1.name,
+				'employee_name': employee1.employee_name,
+				'date_of_joining': employee1.date_of_joining,
+				'relieving_date': employee1.relieving_date,
+				'department': employee1.department,
+				'designation': employee1.designation,
+				'reports_to': None,
+				'exit_interview': self.interview1.name,
+				'interview_status': self.interview1.status,
+				'employee_status': '',
+				'questionnaire': employee1.name,
+				'full_and_final_statement': self.fnf1.name
+			},
+			{
+				'employee': employee2.name,
+				'employee_name': employee2.employee_name,
+				'date_of_joining': employee2.date_of_joining,
+				'relieving_date': employee2.relieving_date,
+				'department': employee2.department,
+				'designation': employee2.designation,
+				'reports_to': None,
+				'exit_interview': self.interview2.name,
+				'interview_status': self.interview2.status,
+				'employee_status': '',
+				'questionnaire': employee2.name,
+				'full_and_final_statement': self.fnf2.name
+			}
+		]
 
 		self.assertEqual(expected_data, report[1]) # rows
 
@@ -189,33 +198,45 @@
 
 		employee3 = frappe.get_doc('Employee', self.emp3)
 		employee4 = frappe.get_doc('Employee', self.emp4)
-		expected_data = [{
-			'employee': employee3.name,
-			'employee_name': employee3.employee_name,
-			'date_of_joining': employee3.date_of_joining,
-			'relieving_date': employee3.relieving_date,
-			'department': employee3.department,
-			'designation': employee3.designation,
-			'reports_to': None,
-			'exit_interview': self.interview3.name,
-			'interview_status': self.interview3.status,
-			'employee_status': '',
-			'questionnaire': employee3.name,
-			'full_and_final_statement': None
-		},
-		{
-			'employee': employee4.name,
-			'employee_name': employee4.employee_name,
-			'date_of_joining': employee4.date_of_joining,
-			'relieving_date': employee4.relieving_date,
-			'department': employee4.department,
-			'designation': employee4.designation,
-			'reports_to': None,
-			'exit_interview': None,
-			'interview_status': None,
-			'employee_status': None,
-			'questionnaire': None,
-			'full_and_final_statement': None
-		}]
+		expected_data = [
+			{
+				'employee': employee3.name,
+				'employee_name': employee3.employee_name,
+				'date_of_joining': employee3.date_of_joining,
+				'relieving_date': employee3.relieving_date,
+				'department': employee3.department,
+				'designation': employee3.designation,
+				'reports_to': None,
+				'exit_interview': self.interview3.name,
+				'interview_status': self.interview3.status,
+				'employee_status': '',
+				'questionnaire': employee3.name,
+				'full_and_final_statement': None
+			},
+			{
+				'employee': employee4.name,
+				'employee_name': employee4.employee_name,
+				'date_of_joining': employee4.date_of_joining,
+				'relieving_date': employee4.relieving_date,
+				'department': employee4.department,
+				'designation': employee4.designation,
+				'reports_to': None,
+				'exit_interview': None,
+				'interview_status': None,
+				'employee_status': None,
+				'questionnaire': None,
+				'full_and_final_statement': None
+			}
+		]
 
-		self.assertEqual(expected_data, report[1]) # rows
\ No newline at end of file
+		self.assertEqual(expected_data, report[1]) # rows
+
+
+def create_company():
+	if not frappe.db.exists('Company', 'Test Company'):
+		frappe.get_doc({
+			'doctype': 'Company',
+			'company_name': 'Test Company',
+			'default_currency': 'INR',
+			'country': 'India'
+		}).insert()
\ No newline at end of file