From e28d0e02f104a7928d3b03ecf8be2c8baf9fbaa0 Mon Sep 17 00:00:00 2001
From: Yannick Tivisse <yti@odoo.com>
Date: Thu, 7 Nov 2019 12:56:19 +0000
Subject: [PATCH] [IMP] hr_contract: Convert tests to SavepointCase

---
 addons/hr_contract/tests/common.py            | 15 ++++++------
 addons/hr_contract/tests/test_auto_status.py  | 14 ++++++-----
 .../hr_contract/tests/test_calendar_sync.py   | 23 ++++++++++---------
 addons/hr_contract/tests/test_contract.py     | 13 ++++++-----
 4 files changed, 35 insertions(+), 30 deletions(-)

diff --git a/addons/hr_contract/tests/common.py b/addons/hr_contract/tests/common.py
index 3c7dc0b80e9f..a50534ab4e29 100644
--- a/addons/hr_contract/tests/common.py
+++ b/addons/hr_contract/tests/common.py
@@ -1,16 +1,17 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
-from odoo.tests.common import TransactionCase
-from dateutil.relativedelta import relativedelta
 
+from odoo.tests.common import SavepointCase
 
-class TestContractBase(TransactionCase):
 
-    def setUp(self):
-        super(TestContractBase, self).setUp()
+class TestContractCommon(SavepointCase):
 
-        self.employee = self.env['hr.employee'].create({
+    @classmethod
+    def setUpClass(cls):
+        super(TestContractCommon, cls).setUpClass()
+
+        cls.employee = cls.env['hr.employee'].create({
             'name': 'Richard',
             'gender': 'male',
-            'country_id': self.ref('base.be'),
+            'country_id': cls.env.ref('base.be').id,
         })
diff --git a/addons/hr_contract/tests/test_auto_status.py b/addons/hr_contract/tests/test_auto_status.py
index 847e6fb9ca01..54b5654daa45 100644
--- a/addons/hr_contract/tests/test_auto_status.py
+++ b/addons/hr_contract/tests/test_auto_status.py
@@ -1,16 +1,18 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
+
 from datetime import date, datetime
 from dateutil.relativedelta import relativedelta
-from odoo.addons.hr_contract.tests.common import TestContractBase
+from odoo.addons.hr_contract.tests.common import TestContractCommon
 
 
-class TestHrContracts(TestContractBase):
+class TestHrContracts(TestContractCommon):
 
-    def setUp(self):
-        super(TestHrContracts, self).setUp()
-        self.contracts = self.env['hr.contract'].with_context(tracking_disable=True)
-        self.test_contract = dict(name='Test', wage=1, employee_id=self.employee.id, state='open')
+    @classmethod
+    def setUpClass(cls):
+        super(TestHrContracts, cls).setUpClass()
+        cls.contracts = cls.env['hr.contract'].with_context(tracking_disable=True)
+        cls.test_contract = dict(name='Test', wage=1, employee_id=cls.employee.id, state='open')
 
     def test_employee_contractwarning(self):
         self.assertEqual(self.employee.contract_warning, True)
diff --git a/addons/hr_contract/tests/test_calendar_sync.py b/addons/hr_contract/tests/test_calendar_sync.py
index b025def4c7eb..cecbe399225a 100644
--- a/addons/hr_contract/tests/test_calendar_sync.py
+++ b/addons/hr_contract/tests/test_calendar_sync.py
@@ -2,26 +2,27 @@
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 
 from odoo.fields import Datetime, Date
-from odoo.addons.hr_contract.tests.common import TestContractBase
+from odoo.addons.hr_contract.tests.common import TestContractCommon
 
 
-class TestContractCalendars(TestContractBase):
+class TestContractCalendars(TestContractCommon):
 
-    def setUp(self):
-        super(TestContractCalendars, self).setUp()
-        self.calendar_richard = self.env['resource.calendar'].create({'name': 'Calendar of Richard'})
-        self.employee.resource_calendar_id = self.calendar_richard
+    @classmethod
+    def setUpClass(cls):
+        super(TestContractCalendars, cls).setUpClass()
+        cls.calendar_richard = cls.env['resource.calendar'].create({'name': 'Calendar of Richard'})
+        cls.employee.resource_calendar_id = cls.calendar_richard
 
-        self.calendar_35h = self.env['resource.calendar'].create({'name': '35h calendar'})
-        self.calendar_35h._onchange_hours_per_day()  # update hours/day
+        cls.calendar_35h = cls.env['resource.calendar'].create({'name': '35h calendar'})
+        cls.calendar_35h._onchange_hours_per_day()  # update hours/day
 
-        self.contract_cdd = self.env['hr.contract'].create({
+        cls.contract_cdd = cls.env['hr.contract'].create({
             'date_end': Date.to_date('2015-11-15'),
             'date_start': Date.to_date('2015-01-01'),
             'name': 'First CDD Contract for Richard',
-            'resource_calendar_id': self.calendar_35h.id,
+            'resource_calendar_id': cls.calendar_35h.id,
             'wage': 5000.0,
-            'employee_id': self.employee.id,
+            'employee_id': cls.employee.id,
             'state': 'close',
         })
 
diff --git a/addons/hr_contract/tests/test_contract.py b/addons/hr_contract/tests/test_contract.py
index 3d339c4c101c..7f4b9ed8d60c 100644
--- a/addons/hr_contract/tests/test_contract.py
+++ b/addons/hr_contract/tests/test_contract.py
@@ -1,16 +1,17 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
+
 from datetime import datetime, date
 from odoo.exceptions import ValidationError
-from dateutil.relativedelta import relativedelta
-from odoo.addons.hr_contract.tests.common import TestContractBase
+from odoo.addons.hr_contract.tests.common import TestContractCommon
 
 
-class TestHrContracts(TestContractBase):
+class TestHrContracts(TestContractCommon):
 
-    def setUp(self):
-        super(TestHrContracts, self).setUp()
-        self.contracts = self.env['hr.contract'].with_context(tracking_disable=True)
+    @classmethod
+    def setUpClass(cls):
+        super(TestHrContracts, cls).setUpClass()
+        cls.contracts = cls.env['hr.contract'].with_context(tracking_disable=True)
 
     def create_contract(self, state, kanban_state, start, end=None):
         return self.env['hr.contract'].create({
-- 
GitLab