oca-ocb-hr/odoo-bringout-oca-ocb-hr_timesheet/hr_timesheet/tests/test_project_template.py
Ernad Husremovic e1d89e11e3 19.0 vanilla
2026-03-09 09:31:00 +01:00

56 lines
2.6 KiB
Python

from odoo.tests import TransactionCase, tagged
@tagged('post_install', '-at_install')
class TestProjectProjectTemplate(TransactionCase):
def test_template_created_not_having_analytic_account(self):
template_project, normal_project = self.env["project.project"].create(
[
{
"name": "Template Project",
"is_template": True,
"allow_timesheets": True,
},
{
"name": "Normal Project",
"is_template": False,
"allow_timesheets": True,
},
]
)
self.assertFalse(template_project.account_id, "The template project shouldn't have analytic account")
self.assertTrue(normal_project.account_id, "A normal project should have a analytic account")
def test_project_created_from_template_to_have_analytic_account(self):
template_project_timesheet, template_project_no_timesheet = self.env['project.project'].create([
{
"name": "Template Project Timesheet",
"is_template": True,
"allow_timesheets": True,
},
{
"name": "Template Project No Timesheet",
"is_template": True,
"allow_timesheets": False,
},
])
new_project_1 = template_project_timesheet.action_create_from_template()
self.assertTrue(new_project_1.account_id, "A project created from template allowing timesheet should have an analytic account")
new_project_2 = template_project_no_timesheet.action_create_from_template()
self.assertFalse(new_project_2.account_id, "A project created from template disabling timesheet should not have an analytic account")
def test_convert_project_template_into_regular_project_analytics(self):
template_project = self.env["project.project"].create(
{
"name": "Template Project Timesheet",
"is_template": True,
"allow_timesheets": True,
}
)
self.assertFalse(template_project.account_id, "The template project shouldn't have analytic account before conversion")
template_project.action_undo_convert_to_template()
self.assertFalse(template_project.is_template, "The project should not be a template anymore after conversion")
self.assertTrue(template_project.account_id, "Converting a template project with timesheets enabled into a regular project should create an analytic account")