Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
1
maintenance_equipment_usage/tests/__init__.py
Normal file
1
maintenance_equipment_usage/tests/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from . import test_maintenance_equipment_usage
|
||||
@@ -0,0 +1,65 @@
|
||||
# Copyright 2022-2024 Tecnativa - Víctor Martínez
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.tests import Form, new_test_user
|
||||
|
||||
from odoo.addons.base.tests.common import BaseCommon
|
||||
|
||||
|
||||
class TestMaintenanceEquipmentUsage(BaseCommon):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.user = new_test_user(cls.env, login="test_basic_user")
|
||||
cls.equipment = cls.env["maintenance.equipment"].create(
|
||||
{"name": "Test equipment"}
|
||||
)
|
||||
cls.equipment_usage = cls._create_equipment_usage()
|
||||
|
||||
@classmethod
|
||||
def _create_equipment_usage(cls):
|
||||
equipment_usage_form = Form(cls.env["maintenance.equipment.usage"])
|
||||
equipment_usage_form.equipment_id = cls.equipment
|
||||
equipment_usage_form.user_id = cls.user
|
||||
return equipment_usage_form.save()
|
||||
|
||||
def test_maintenance_equipment_full_process(self):
|
||||
self.assertIn(self.equipment_usage, self.equipment.usage_ids)
|
||||
self.assertFalse(self.equipment.in_use)
|
||||
self.assertEqual(self.equipment_usage.state, "draft")
|
||||
self.equipment_usage.action_pick()
|
||||
self.assertTrue(self.equipment_usage.date_picking)
|
||||
self.assertEqual(self.equipment_usage.state, "in_use")
|
||||
self.assertTrue(self.equipment.in_use)
|
||||
self.equipment_usage.action_return()
|
||||
self.assertEqual(self.equipment_usage.state, "returned")
|
||||
self.assertTrue(self.equipment_usage.date_return)
|
||||
self.assertFalse(self.equipment.in_use)
|
||||
|
||||
def test_maintenance_equipment_cancel_process(self):
|
||||
self.assertEqual(self.equipment_usage.state, "draft")
|
||||
self.equipment_usage.action_cancel()
|
||||
self.assertEqual(self.equipment_usage.state, "cancel")
|
||||
|
||||
def test_maintenance_equipment_multi(self):
|
||||
self.equipment_usage.action_pick()
|
||||
self.assertEqual(self.equipment_usage.state, "in_use")
|
||||
equipment_usage2 = self._create_equipment_usage()
|
||||
with self.assertRaises(UserError):
|
||||
equipment_usage2.action_pick()
|
||||
self.equipment_usage.action_cancel()
|
||||
self.assertEqual(self.equipment_usage.state, "cancel")
|
||||
equipment_usage2.action_pick()
|
||||
self.assertEqual(equipment_usage2.state, "in_use")
|
||||
|
||||
def test_compute_usage_count(self):
|
||||
equipment_usage2 = self.env["maintenance.equipment.usage"].create(
|
||||
{"equipment_id": self.equipment.id, "user_id": self.user.id}
|
||||
)
|
||||
self.equipment._compute_usage_count()
|
||||
self.assertEqual(self.equipment.usage_count, 2)
|
||||
|
||||
equipment_usage2.unlink()
|
||||
self.equipment._compute_usage_count()
|
||||
self.assertEqual(self.equipment.usage_count, 1)
|
||||
Reference in New Issue
Block a user