Initial commit: Odoo 18.0-20251222 extra-addons
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled

This commit is contained in:
tocmo0nlord
2026-03-13 20:43:25 +00:00
parent 36e847a7df
commit adbe430761
9472 changed files with 1265727 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0
from . import test_maintenance_timesheet_time_control

View File

@@ -0,0 +1,59 @@
# Copyright 2022-2024 Tecnativa - Víctor Martínez
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0
from odoo import exceptions, fields
from odoo.tests.common import users
from odoo.addons.project_timesheet_time_control.tests import (
test_project_timesheet_time_control,
)
class TestMaintenanceTimesheetTimeControl(
test_project_timesheet_time_control.TestProjectTimesheetTimeControlBase
):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.user.groups_id |= cls.env.ref("maintenance.group_equipment_manager")
cls.category = cls.env["maintenance.equipment.category"].create(
{"name": "Test category"}
)
cls.team = cls.env["maintenance.team"].create({"name": "Test team"})
cls.equipment = cls.env["maintenance.equipment"].create(
{
"name": "Test computer",
"category_id": cls.category.id,
"project_id": cls.project.id,
"maintenance_team_id": cls.team.id,
}
)
cls.request = cls.env["maintenance.request"].create(
{"name": "Test computer request", "equipment_id": cls.equipment.id}
)
cls.line.maintenance_request_id = cls.request
@users("test-user")
def test_maintenance_request_time_control_flow(self):
# Running line found, stop the timer
self.line.button_end_work()
with self.assertRaises(exceptions.UserError):
self.request.button_end_work()
# All lines stopped, start new one
self.assertEqual(self.request.show_time_control, "start")
start_action = self.request.button_start_work()
wizard = self._create_wizard(start_action, self.line)
self.assertLessEqual(wizard.date_time, fields.Datetime.now())
self.assertEqual(wizard.name, self.line.name)
self.assertEqual(wizard.project_id, self.request.project_id)
self.assertEqual(
wizard.analytic_line_id.account_id, self.request.project_id.account_id
)
self.assertEqual(wizard.analytic_line_id, self.line)
new_act = wizard.with_context(show_created_timer=True).action_switch()
new_line = self.env[new_act["res_model"]].browse(new_act["res_id"])
self.assertEqual(new_line.employee_id, self.env.user.employee_id)
self.assertEqual(new_line.project_id, self.project)
self.assertEqual(new_line.maintenance_request_id, self.request)
self.assertEqual(new_line.unit_amount, 0)
self.assertTrue(self.line.unit_amount)