Files
enterprise-addons/project_enterprise/tests/test_smart_schedule_common.py
T

89 lines
3.8 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details
from datetime import datetime
from dateutil.relativedelta import relativedelta
from odoo.addons.project.tests.test_project_base import TestProjectCommon
class TestSmartScheduleCommon(TestProjectCommon):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.projectuser_resource, cls.projectmanager_resource = cls.env['resource.resource'].create([
{
'calendar_id': cls.project_pigs.resource_calendar_id.id,
'company_id': cls.user_projectuser.company_id.id,
'name': cls.user_projectuser.name,
'user_id': cls.user_projectuser.id,
'tz': cls.user_projectuser.tz,
},
{
'calendar_id': cls.project_pigs.resource_calendar_id.id,
'company_id': cls.user_projectmanager.company_id.id,
'name': cls.user_projectmanager.name,
'user_id': cls.user_projectmanager.id,
'tz': cls.user_projectmanager.tz,
},
])
tasks = cls.env['project.task'].create([
# Tasks with project pigs
{
'name': 'task_project_pigs_with_allocated_hours_user',
'allocated_hours': 8,
'project_id': cls.project_pigs.id,
'user_ids': [cls.user_projectuser.id],
},
{
'name': 'task_project_pigs_with_allocated_hours_manager',
'allocated_hours': 10,
'project_id': cls.project_pigs.id,
'user_ids': [cls.user_projectmanager.id],
},
{
'name': 'task_project_pigs_with_allocated_hours_no_user',
'allocated_hours': 10,
'project_id': cls.project_pigs.id,
'user_ids': None,
},
{
'name': 'task_project_pigs_no_allocated_hours_user',
'project_id': cls.project_pigs.id,
'user_ids': [cls.user_projectuser.id],
},
{
'name': 'task_project_pigs_no_allocated_hours_manager',
'project_id': cls.project_pigs.id,
'user_ids': [cls.user_projectmanager.id],
},
{
'name': 'task_project_pigs_no_allocated_hours_no_user',
'project_id': cls.project_pigs.id,
'user_ids': None,
},
# Tasks with project goats
{
'name': 'task_project_goats_with_allocated_hours_user',
'project_id': cls.project_goats.id,
'allocated_hours': 10,
'user_ids': [cls.user_projectuser.id],
},
{
'name': 'task_project_goats_no_allocated_hours_user',
'project_id': cls.project_goats.id,
'user_ids': [cls.user_projectuser.id],
},
])
cls.task_project_pigs_with_allocated_hours_user, cls.task_project_pigs_with_allocated_hours_manager, \
cls.task_project_pigs_with_allocated_hours_no_user, cls.task_project_pigs_no_allocated_hours_user, \
cls.task_project_pigs_no_allocated_hours_manager, cls.task_project_pigs_no_allocated_hours_no_user, \
cls.task_project_goats_with_allocated_hours_user, cls.task_project_goats_no_allocated_hours_user = tasks
cls.start_date_view = datetime.now()
cls.end_date_view = cls.start_date_view + relativedelta(days=31)
cls.start_date_view_str = cls.start_date_view.strftime('%Y-%m-%d %H:%M:%S')
cls.end_date_view_str = cls.end_date_view.strftime('%Y-%m-%d %H:%M:%S')
cls.is_module_timesheet_grid_installed = hasattr(cls.env['project.task'], 'allow_timesheets')