70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
from odoo import Command
|
|
|
|
from odoo.addons.base.tests.common import BaseCommon
|
|
|
|
|
|
class TestMaintenanceEquipment(BaseCommon):
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
|
|
# Create test categories
|
|
cls.category_1 = cls.env["maintenance.equipment.category"].create(
|
|
{"name": "Category 1"}
|
|
)
|
|
cls.category_2 = cls.env["maintenance.equipment.category"].create(
|
|
{"name": "Category 2"}
|
|
)
|
|
|
|
# Create test equipment statuses
|
|
cls.status_1 = cls.env["maintenance.equipment.status"].create(
|
|
{
|
|
"name": "Status 1",
|
|
"sequence": 10,
|
|
"category_ids": [Command.set([cls.category_1.id])],
|
|
}
|
|
)
|
|
cls.status_2 = cls.env["maintenance.equipment.status"].create(
|
|
{
|
|
"name": "Status 2",
|
|
"sequence": 20,
|
|
"category_ids": [Command.set([cls.category_1.id])],
|
|
}
|
|
)
|
|
|
|
def test_equipment_status_behavior(self):
|
|
# Check status is linked correctly to equipment
|
|
equipment = self.env["maintenance.equipment"].create(
|
|
{
|
|
"name": "Equipment 1",
|
|
"status_id": self.status_1.id,
|
|
}
|
|
)
|
|
self.assertEqual(equipment.status_id, self.status_1)
|
|
self.assertEqual(equipment.status_id.name, "Status 1")
|
|
|
|
# Check categories in status
|
|
self.assertIn(self.category_1, self.status_1.category_ids)
|
|
self.assertNotIn(self.category_2, self.status_1.category_ids)
|
|
|
|
# Check default active value
|
|
status_3 = self.env["maintenance.equipment.status"].create(
|
|
{
|
|
"name": "Status 3",
|
|
}
|
|
)
|
|
self.assertTrue(status_3.active, "The status should be active by default")
|
|
|
|
# Check explicit inactive value
|
|
status_4 = self.env["maintenance.equipment.status"].create(
|
|
{
|
|
"name": "Status 4",
|
|
"active": False,
|
|
}
|
|
)
|
|
self.assertFalse(status_4.active, "The status should be inactive")
|
|
|
|
# Check sequences
|
|
self.assertEqual(self.status_1.sequence, 10)
|
|
self.assertEqual(self.status_2.sequence, 20)
|