oca-technical/odoo-bringout-oca-maintenance-maintenance_location/maintenance_location/tests/test_maintenance_location.py
2025-08-29 15:43:03 +02:00

53 lines
2 KiB
Python

# Copyright 2019 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.exceptions import UserError
from odoo.tests.common import TransactionCase
class TestMaintenanceLocation(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
self = cls
self.location_1 = self.env["maintenance.location"].create({"name": "L1"})
self.location_2 = self.env["maintenance.location"].create(
{"name": "L2", "parent_id": self.location_1.id}
)
self.equipment = self.env["maintenance.equipment"].create(
{"name": "L2", "location_id": self.location_1.id}
)
self.team = self.env["maintenance.team"].create({"name": "Team"})
self.request = self.env["maintenance.request"].create(
{"name": "Request", "maintenance_team_id": self.team.id}
)
self.equipment = self.env["maintenance.equipment"].create(
{"name": "Laptop", "location_id": self.location_1.id}
)
self.plan = self.env["maintenance.plan"].create(
{
"equipment_id": self.equipment.id,
"interval": 1,
"interval_step": "month",
"maintenance_plan_horizon": 2,
"planning_step": "month",
"maintenance_team_id": self.team.id,
"location_id": self.location_1.id,
}
)
def test_maintenance_location(self):
self.assertEqual(self.location_2.complete_name, "L1 / L2")
with self.assertRaises(UserError):
self.location_1.write({"parent_id": self.location_2.id})
self.request.write({"equipment_id": self.equipment.id})
self.assertEqual(self.request.location_id.id, self.location_1.id)
def test_request_creation(self):
request = self.equipment._create_new_request(self.plan)
self.assertTrue(request)
for r in request:
self.assertEqual(r.location_id.id, self.location_1.id)