summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2018-09-13 11:19:06 +0200
committerThibault Delavallée <tde@odoo.com>2018-09-13 12:20:14 +0200
commit6f2122a79c2c6ad9a6647751e3a7155fead735c6 (patch)
tree2a667579d61a896575a28bc660d133059531336c
parentbfea44bfda29313910e5f0f202089229216f546f (diff)
[ADD] hr: add employee-related tests
Purpose is to test user - employee synchronization, especially about timezones that are often broken.
-rw-r--r--addons/hr/tests/__init__.py1
-rw-r--r--addons/hr/tests/test_hr_employee.py47
2 files changed, 48 insertions, 0 deletions
diff --git a/addons/hr/tests/__init__.py b/addons/hr/tests/__init__.py
index abca68d7db3..6afcbdd58c7 100644
--- a/addons/hr/tests/__init__.py
+++ b/addons/hr/tests/__init__.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from . import test_hr_employee
from . import test_hr_flow
diff --git a/addons/hr/tests/test_hr_employee.py b/addons/hr/tests/test_hr_employee.py
new file mode 100644
index 00000000000..710c13a5c8e
--- /dev/null
+++ b/addons/hr/tests/test_hr_employee.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.tests import Form
+from odoo.addons.hr.tests.common import TestHrCommon
+
+
+class TestHrEmployee(TestHrCommon):
+
+ def test_employee_resource(self):
+ _tz = 'Pacific/Apia'
+ self.res_users_hr_officer.company_id.resource_calendar_id.tz = _tz
+ Employee = self.env['hr.employee'].sudo(self.res_users_hr_officer)
+ employee_form = Form(Employee)
+ employee_form.name = 'Raoul Grosbedon'
+ employee_form.work_email = 'raoul@example.com'
+ employee = employee_form.save()
+ self.assertEqual(employee.tz, _tz)
+
+ def test_employee_from_user(self):
+ _tz = 'Pacific/Apia'
+ _tz2 = 'America/Tijuana'
+ self.res_users_hr_officer.company_id.resource_calendar_id.tz = _tz
+ self.res_users_hr_officer.tz = _tz2
+ Employee = self.env['hr.employee'].sudo(self.res_users_hr_officer)
+ employee_form = Form(Employee)
+ employee_form.name = 'Raoul Grosbedon'
+ employee_form.work_email = 'raoul@example.com'
+ employee_form.user_id = self.res_users_hr_officer
+ employee = employee_form.save()
+ self.assertEqual(employee.name, self.res_users_hr_officer.name)
+ self.assertEqual(employee.work_email, self.res_users_hr_officer.email)
+ self.assertEqual(employee.tz, self.res_users_hr_officer.tz)
+
+ def test_employee_from_user_tz_no_reset(self):
+ _tz = 'Pacific/Apia'
+ self.res_users_hr_officer.tz = False
+ Employee = self.env['hr.employee'].sudo(self.res_users_hr_officer)
+ employee_form = Form(Employee)
+ employee_form.name = 'Raoul Grosbedon'
+ employee_form.work_email = 'raoul@example.com'
+ employee_form.tz = _tz
+ employee_form.user_id = self.res_users_hr_officer
+ employee = employee_form.save()
+ self.assertEqual(employee.name, self.res_users_hr_officer.name)
+ self.assertEqual(employee.work_email, self.res_users_hr_officer.email)
+ self.assertEqual(employee.tz, _tz)