fix: tests and sider issues
This commit is contained in:
parent
4686527928
commit
dcbf0c9eca
@ -120,8 +120,8 @@
|
|||||||
"fieldname": "interviewers",
|
"fieldname": "interviewers",
|
||||||
"fieldtype": "Table MultiSelect",
|
"fieldtype": "Table MultiSelect",
|
||||||
"label": "Interviewers",
|
"label": "Interviewers",
|
||||||
"options": "Interviewer",
|
"mandatory_depends_on": "eval:doc.status==='Scheduled';",
|
||||||
"reqd": 1
|
"options": "Interviewer"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fetch_from": "employee.date_of_joining",
|
"fetch_from": "employee.date_of_joining",
|
||||||
@ -218,7 +218,7 @@
|
|||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2021-12-07 14:08:29.355390",
|
"modified": "2021-12-07 23:39:22.645401",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "HR",
|
"module": "HR",
|
||||||
"name": "Exit Interview",
|
"name": "Exit Interview",
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe import _
|
||||||
from frappe.core.doctype.user_permission.test_user_permission import create_user
|
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.tests.test_webform import create_custom_doctype, create_webform
|
||||||
from frappe.utils import getdate
|
from frappe.utils import getdate
|
||||||
@ -13,6 +14,9 @@ from erpnext.hr.doctype.exit_interview.exit_interview import send_exit_questionn
|
|||||||
|
|
||||||
|
|
||||||
class TestExitInterview(unittest.TestCase):
|
class TestExitInterview(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
frappe.db.sql('delete from `tabExit Interview`')
|
||||||
|
|
||||||
def test_duplicate_interview(self):
|
def test_duplicate_interview(self):
|
||||||
employee = make_employee('employeeexit1@example.com')
|
employee = make_employee('employeeexit1@example.com')
|
||||||
frappe.db.set_value('Employee', employee, 'relieving_date', getdate())
|
frappe.db.set_value('Employee', employee, 'relieving_date', getdate())
|
||||||
@ -23,6 +27,8 @@ class TestExitInterview(unittest.TestCase):
|
|||||||
|
|
||||||
def test_relieving_date_validation(self):
|
def test_relieving_date_validation(self):
|
||||||
employee = make_employee('employeeexit2@example.com')
|
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)
|
interview = create_exit_interview(employee, save=False)
|
||||||
self.assertRaises(frappe.ValidationError, interview.save)
|
self.assertRaises(frappe.ValidationError, interview.save)
|
||||||
@ -52,9 +58,13 @@ class TestExitInterview(unittest.TestCase):
|
|||||||
def test_send_exit_questionnaire(self):
|
def test_send_exit_questionnaire(self):
|
||||||
create_custom_doctype()
|
create_custom_doctype()
|
||||||
create_webform()
|
create_webform()
|
||||||
|
template = create_notification_template()
|
||||||
|
|
||||||
webform = frappe.db.get_all('Web Form', limit=1)
|
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')
|
employee = make_employee('employeeexit3@example.com')
|
||||||
frappe.db.set_value('Employee', employee, 'relieving_date', getdate())
|
frappe.db.set_value('Employee', employee, 'relieving_date', getdate())
|
||||||
@ -87,3 +97,21 @@ def create_exit_interview(employee, save=True):
|
|||||||
if save:
|
if save:
|
||||||
return doc.insert()
|
return doc.insert()
|
||||||
return doc
|
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
|
@ -5,13 +5,16 @@ from frappe.utils import add_days, getdate
|
|||||||
|
|
||||||
from erpnext.hr.doctype.employee.test_employee import make_employee
|
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.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
|
from erpnext.hr.report.employee_exits.employee_exits import execute
|
||||||
|
|
||||||
|
|
||||||
class TestEmployeeExits(unittest.TestCase):
|
class TestEmployeeExits(unittest.TestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
|
create_company()
|
||||||
frappe.db.sql("delete from `tabEmployee` where company='Test 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 `tabFull and Final Statement` where company='Test Company'")
|
||||||
frappe.db.sql("delete from `tabExit Interview` where company='Test Company'")
|
frappe.db.sql("delete from `tabExit Interview` where company='Test Company'")
|
||||||
@ -24,26 +27,30 @@ class TestEmployeeExits(unittest.TestCase):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create_records(cls):
|
def create_records(cls):
|
||||||
cls.emp1 = make_employee('employeeexit1@example.com',
|
cls.emp1 = make_employee(
|
||||||
|
'employeeexit1@example.com',
|
||||||
company='Test Company',
|
company='Test Company',
|
||||||
date_of_joining=getdate('01-10-2021'),
|
date_of_joining=getdate('01-10-2021'),
|
||||||
relieving_date=add_days(getdate(), 14),
|
relieving_date=add_days(getdate(), 14),
|
||||||
designation='Accountant'
|
designation='Accountant'
|
||||||
)
|
)
|
||||||
cls.emp2 = make_employee('employeeexit2@example.com',
|
cls.emp2 = make_employee(
|
||||||
|
'employeeexit2@example.com',
|
||||||
company='Test Company',
|
company='Test Company',
|
||||||
date_of_joining=getdate('01-12-2021'),
|
date_of_joining=getdate('01-12-2021'),
|
||||||
relieving_date=add_days(getdate(), 15),
|
relieving_date=add_days(getdate(), 15),
|
||||||
designation='Accountant'
|
designation='Accountant'
|
||||||
)
|
)
|
||||||
|
|
||||||
cls.emp3 = make_employee('employeeexit3@example.com',
|
cls.emp3 = make_employee(
|
||||||
|
'employeeexit3@example.com',
|
||||||
company='Test Company',
|
company='Test Company',
|
||||||
date_of_joining=getdate('02-12-2021'),
|
date_of_joining=getdate('02-12-2021'),
|
||||||
relieving_date=add_days(getdate(), 29),
|
relieving_date=add_days(getdate(), 29),
|
||||||
designation='Engineer'
|
designation='Engineer'
|
||||||
)
|
)
|
||||||
cls.emp4 = make_employee('employeeexit4@example.com',
|
cls.emp4 = make_employee(
|
||||||
|
'employeeexit4@example.com',
|
||||||
company='Test Company',
|
company='Test Company',
|
||||||
date_of_joining=getdate('01-12-2021'),
|
date_of_joining=getdate('01-12-2021'),
|
||||||
relieving_date=add_days(getdate(), 30),
|
relieving_date=add_days(getdate(), 30),
|
||||||
@ -90,7 +97,8 @@ class TestEmployeeExits(unittest.TestCase):
|
|||||||
|
|
||||||
employee1 = frappe.get_doc('Employee', self.emp1)
|
employee1 = frappe.get_doc('Employee', self.emp1)
|
||||||
employee2 = frappe.get_doc('Employee', self.emp2)
|
employee2 = frappe.get_doc('Employee', self.emp2)
|
||||||
expected_data = [{
|
expected_data = [
|
||||||
|
{
|
||||||
'employee': employee1.name,
|
'employee': employee1.name,
|
||||||
'employee_name': employee1.employee_name,
|
'employee_name': employee1.employee_name,
|
||||||
'date_of_joining': employee1.date_of_joining,
|
'date_of_joining': employee1.date_of_joining,
|
||||||
@ -117,7 +125,8 @@ class TestEmployeeExits(unittest.TestCase):
|
|||||||
'employee_status': '',
|
'employee_status': '',
|
||||||
'questionnaire': employee2.name,
|
'questionnaire': employee2.name,
|
||||||
'full_and_final_statement': self.fnf2.name
|
'full_and_final_statement': self.fnf2.name
|
||||||
}]
|
}
|
||||||
|
]
|
||||||
|
|
||||||
self.assertEqual(expected_data, report[1]) # rows
|
self.assertEqual(expected_data, report[1]) # rows
|
||||||
|
|
||||||
@ -189,7 +198,8 @@ class TestEmployeeExits(unittest.TestCase):
|
|||||||
|
|
||||||
employee3 = frappe.get_doc('Employee', self.emp3)
|
employee3 = frappe.get_doc('Employee', self.emp3)
|
||||||
employee4 = frappe.get_doc('Employee', self.emp4)
|
employee4 = frappe.get_doc('Employee', self.emp4)
|
||||||
expected_data = [{
|
expected_data = [
|
||||||
|
{
|
||||||
'employee': employee3.name,
|
'employee': employee3.name,
|
||||||
'employee_name': employee3.employee_name,
|
'employee_name': employee3.employee_name,
|
||||||
'date_of_joining': employee3.date_of_joining,
|
'date_of_joining': employee3.date_of_joining,
|
||||||
@ -216,6 +226,17 @@ class TestEmployeeExits(unittest.TestCase):
|
|||||||
'employee_status': None,
|
'employee_status': None,
|
||||||
'questionnaire': None,
|
'questionnaire': None,
|
||||||
'full_and_final_statement': None
|
'full_and_final_statement': None
|
||||||
}]
|
}
|
||||||
|
]
|
||||||
|
|
||||||
self.assertEqual(expected_data, report[1]) # rows
|
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()
|
Loading…
x
Reference in New Issue
Block a user