From 471712e672543a48e6f8801753a6e96e9f3ce316 Mon Sep 17 00:00:00 2001 From: irlui Date: Tue, 15 Oct 2024 16:32:03 +0200 Subject: [PATCH] [FIX]:hr_pms_property: remove class method and update test module --- pms_hr_property/tests/test_pms_hr_property.py | 113 ++++++------------ 1 file changed, 34 insertions(+), 79 deletions(-) diff --git a/pms_hr_property/tests/test_pms_hr_property.py b/pms_hr_property/tests/test_pms_hr_property.py index aa41b3d3a..1833e0b19 100644 --- a/pms_hr_property/tests/test_pms_hr_property.py +++ b/pms_hr_property/tests/test_pms_hr_property.py @@ -4,7 +4,6 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo.tests.common import TransactionCase - class TestPmsHrProperty(TransactionCase): def setUp(self): super(TestPmsHrProperty, self).setUp() @@ -12,98 +11,54 @@ class TestPmsHrProperty(TransactionCase): self.HrEmployee = self.env["hr.employee"] self.Company = self.env["res.company"] - self.company1 = self.Company.create( - { - "name": "Company 1", - } - ) + # Create company and property + self.company1 = self.Company.create({"name": "Company 1"}) self.property1 = self.PmsProperty.create( - { - "name": "Property 1", - "company_id": self.company1.id, - } + {"name": "Property 1", "company_id": self.company1.id} ) - user_dict = { - "name": "User 1", - "login": "tua@example.com", - "password": "base-test-passwd", - } + + # Create users + user_dict = {"name": "User 1", "login": "tua@example.com", "password": "base-test-passwd"} self.user_test = self.env["res.users"].create(user_dict) - user_dict2 = { - "name": "User 2", - "login": "user2@example.com", - "password": "base-test-passwd", - } + user_dict2 = {"name": "User 2", "login": "user2@example.com", "password": "base-test-passwd"} self.user_test2 = self.env["res.users"].create(user_dict2) - employee_dict = { - "name": "Employee 1", - "user_id": self.user_test.id, - "address_id": self.user_test.partner_id.id, - } + + # Create employees and link them to users + employee_dict = {"name": "Employee 1", "user_id": self.user_test.id, "address_id": self.user_test.partner_id.id} self.employee = self.env["hr.employee"].create(employee_dict) - employee_dict2 = { - "name": "Employee 2", - "user_id": self.user_test2.id, - "address_id": self.user_test2.partner_id.id, - } + employee_dict2 = {"name": "Employee 2", "user_id": self.user_test2.id, "address_id": self.user_test2.partner_id.id} self.employee2 = self.env["hr.employee"].create(employee_dict2) + + def test_employee_assignment(self): + """Check if employees are correctly assigned to properties""" + # Assign employee to property self.employee.write({"property_ids": [(4, self.property1.id)]}) - def test_compute_employee_ids(self): - """Verifica que el mĂ©todo _compute_employee_ids - calcule correctamente el campo employee_ids""" - - self.property1._compute_employee_ids() - + # Verify the employee is correctly assigned assigned_employees = self.property1.employee_ids + self.assertIn(self.employee, assigned_employees, "The employee is not correctly assigned to the property.") - expected_employees = self.HrEmployee.search( - [("property_ids", "in", self.property1.id)] - ) + def test_employee_removal(self): + """Check if employees can be unassigned from properties correctly""" + # Assign employee to the property + self.employee.write({"property_ids": [(4, self.property1.id)]}) - self.assertEqual( - sorted(assigned_employees.ids), - sorted(expected_employees.ids), - "Property 1 no coincide con los empleados esperados.", - ) + # Unassign employee from the property + self.employee.write({"property_ids": [(3, self.property1.id)]}) - def test_no_employees_assigned(self): - """Verifica el comportamiento si no hay empleados asignados a una propiedad""" - - self.employee.write({"property_ids": [(5, self.property1.id)]}) - - self.property1._compute_employee_ids() + # Verify the employee is no longer assigned to the property assigned_employees = self.property1.employee_ids + self.assertNotIn(self.employee, assigned_employees, "The employee is still assigned to the property after removal.") - self.assertEqual( - len(assigned_employees), - 0, - "Se esperaba que no hubiera empleados asignados a la propiedad 1.", - ) + def test_multiple_employees_assignment(self): + """Check if multiple employees can be assigned to a single property""" + # Assign both employees to the property + self.employee.write({"property_ids": [(4, self.property1.id)]}) + self.employee2.write({"property_ids": [(4, self.property1.id)]}) - def test_multiple_properties(self): - """Verifica que los empleados se asignen correctamente a mĂșltiples propiedades""" - self.property2 = self.PmsProperty.create( - { - "name": "Property 2", - "company_id": self.company1.id, - } - ) - - self.employee2.write({"property_ids": [(4, self.property2.id)]}) - - self.property2._compute_employee_ids() - - assigned_employees = self.property2.employee_ids - - expected_employees = self.HrEmployee.search( - [("property_ids", "in", self.property2.id)] - ) - - self.assertEqual( - sorted(assigned_employees.ids), - sorted(expected_employees.ids), - "employee_ids calculado para la propiedad 2 no coincide con los empleados.", - ) + # Verify both employees are assigned + assigned_employees = self.property1.employee_ids + self.assertIn(self.employee, assigned_employees, "Employee 1 is not correctly assigned.") + self.assertIn(self.employee2, assigned_employees, "Employee 2 is not correctly assigned.") \ No newline at end of file