66 lines
2.2 KiB
Python
66 lines
2.2 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo.tests import common
|
|
|
|
|
|
class TestHrFleetDriver(common.TransactionCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
|
|
cls.test_employee = cls.env['hr.employee'].create({
|
|
'name': 'Test Employee'
|
|
})
|
|
|
|
cls.test_user = cls.env['res.users'].create({
|
|
'login': 'test',
|
|
'name': 'The King',
|
|
'email': 'noop@example.com',
|
|
})
|
|
|
|
cls.brand = cls.env["fleet.vehicle.model.brand"].create({
|
|
"name": "Audi",
|
|
})
|
|
|
|
cls.model = cls.env["fleet.vehicle.model"].create({
|
|
"brand_id": cls.brand.id,
|
|
"name": "A3",
|
|
})
|
|
|
|
cls.car = cls.env["fleet.vehicle"].create({
|
|
"model_id": cls.model.id,
|
|
"future_driver_id": cls.test_employee.work_contact_id.id,
|
|
"plan_to_change_car": False
|
|
})
|
|
|
|
cls.car2 = cls.env["fleet.vehicle"].create({
|
|
"model_id": cls.model.id,
|
|
"plan_to_change_car": False
|
|
})
|
|
|
|
def test_driver_sync_with_employee(self):
|
|
"""
|
|
If an employee has a car and their partner has changed, the update should be synced with the fleet
|
|
"""
|
|
self.assertEqual(self.car.future_driver_id, self.test_employee.work_contact_id)
|
|
self.test_employee.user_id = self.test_user
|
|
self.assertEqual(self.test_employee.work_contact_id, self.test_user.partner_id)
|
|
self.car.action_accept_driver_change()
|
|
self.assertEqual(self.car.driver_id, self.test_user.partner_id)
|
|
|
|
def test_driver_sync_with_employee_without_contact(self):
|
|
"""
|
|
When we create an employee with a user_id, he doesn't have a
|
|
work_contact_id and we don't want to assign him all unassigned
|
|
cars.
|
|
"""
|
|
self.assertEqual(self.car2.future_driver_id.id, False)
|
|
self.assertEqual(self.car2.driver_id.id, False)
|
|
self.env['hr.employee'].create({
|
|
'name': 'Test Employee 2',
|
|
'user_id': self.test_user.id,
|
|
})
|
|
self.assertEqual(self.car2.future_driver_id.id, False)
|
|
self.assertEqual(self.car2.driver_id.id, False)
|