[ADD] project_long_term: Added a yaml for testing scheduled tasks.
bzr revid: uco@tinyerp.com-20110106133107-5obwr2qnpqypyiw0
This commit is contained in:
parent
3917684c06
commit
6d50b5a445
|
@ -42,12 +42,13 @@ Features.
|
|||
"test": [
|
||||
'test/schedule_project_phases.yml',
|
||||
'test/project_schedule_consecutive_day.yml',
|
||||
'test/project_schedule_without_wroking_hour.yml'
|
||||
'test/project_schedule_without_wroking_hour.yml',
|
||||
# 'test/schedule_project_tasks.yml',
|
||||
# 'test/test_project_long_term.yml',
|
||||
# 'test/schedule_phase_tasks.yml',
|
||||
# 'test/test_schedule_phases_case1.yml',
|
||||
# 'test/test_schedule_phases_case2.yml',
|
||||
'test/test_schedule_tasks_case1.yml',
|
||||
],
|
||||
"update_xml": [
|
||||
"security/ir.model.access.csv",
|
||||
|
|
|
@ -0,0 +1,263 @@
|
|||
-
|
||||
In order to test scheduling of tasks, I create four tasks with different sequences and schedule them.
|
||||
-
|
||||
I create address for first user.
|
||||
-
|
||||
!record {model: res.partner.address, id: res_partner_address_user0}:
|
||||
name: User 1
|
||||
-
|
||||
I create address for second user.
|
||||
-
|
||||
!record {model: res.partner.address, id: res_partner_address_user1}:
|
||||
name: User 2
|
||||
-
|
||||
I create first user.
|
||||
-
|
||||
!record {model: res.users, id: res_users_user0}:
|
||||
address_id: res_partner_address_user0
|
||||
company_id: base.main_company
|
||||
context_lang: en_US
|
||||
groups_id:
|
||||
- base.group_partner_manager
|
||||
- base.group_user
|
||||
login: user1
|
||||
name: User 1
|
||||
password: user1
|
||||
-
|
||||
I create second user.
|
||||
-
|
||||
!record {model: res.users, id: res_users_user1}:
|
||||
address_id: res_partner_address_user1
|
||||
company_id: base.main_company
|
||||
context_lang: en_US
|
||||
groups_id:
|
||||
- base.group_partner_manager
|
||||
- base.group_user
|
||||
login: user2
|
||||
name: User 2
|
||||
password: user2
|
||||
-
|
||||
I create a Project.
|
||||
-
|
||||
!record {model: project.project, id: project_project_projecta0}:
|
||||
balance: 0.0
|
||||
credit: 0.0
|
||||
currency_id: base.EUR
|
||||
debit: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Project A
|
||||
members:
|
||||
- res_users_user0
|
||||
- res_users_user1
|
||||
phase_ids:
|
||||
- date_start: '2011-01-06'
|
||||
duration: 2.0
|
||||
name: Phase A
|
||||
product_uom: product.uom_day
|
||||
state: draft
|
||||
task_ids:
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task D
|
||||
planned_hours: 5.0
|
||||
remaining_hours: 5.0
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task C
|
||||
planned_hours: 5.0
|
||||
remaining_hours: 5.0
|
||||
sequence: 11
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task B
|
||||
planned_hours: 5.0
|
||||
remaining_hours: 5.0
|
||||
sequence: 13
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task A
|
||||
planned_hours: 5.0
|
||||
remaining_hours: 5.0
|
||||
sequence: 14
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
planned_hours: 20.0
|
||||
progress_rate: 0.0
|
||||
quantity: 0.0
|
||||
quantity_max: 0.0
|
||||
state: open
|
||||
tasks:
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task D
|
||||
planned_hours: 5.0
|
||||
remaining_hours: 5.0
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task C
|
||||
planned_hours: 5.0
|
||||
remaining_hours: 5.0
|
||||
sequence: 11
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task B
|
||||
planned_hours: 5.0
|
||||
remaining_hours: 5.0
|
||||
sequence: 13
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task A
|
||||
planned_hours: 5.0
|
||||
remaining_hours: 5.0
|
||||
sequence: 14
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
total_hours: 15.0
|
||||
-
|
||||
I create first task with highest sequence.
|
||||
-
|
||||
!record {model: project.task, id: project_task_taska0}:
|
||||
delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task A
|
||||
planned_hours: 5.0
|
||||
project_id: project_project_projecta0
|
||||
remaining_hours: 5.0
|
||||
sequence: 14
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
-
|
||||
I create second task.
|
||||
-
|
||||
!record {model: project.task, id: project_task_taskb0}:
|
||||
delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task B
|
||||
planned_hours: 5.0
|
||||
project_id: project_project_projecta0
|
||||
remaining_hours: 5.0
|
||||
sequence: 13
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
-
|
||||
I create third task.
|
||||
-
|
||||
!record {model: project.task, id: project_task_taskc0}:
|
||||
delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task C
|
||||
planned_hours: 5.0
|
||||
project_id: project_project_projecta0
|
||||
remaining_hours: 5.0
|
||||
sequence: 11
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
-
|
||||
I create fourth task with lowest sequence.
|
||||
-
|
||||
!record {model: project.task, id: project_task_taskd0}:
|
||||
delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task D
|
||||
planned_hours: 5.0
|
||||
project_id: project_project_projecta0
|
||||
remaining_hours: 5.0
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
-
|
||||
Now I create a resource for first user.
|
||||
-
|
||||
!record {model: resource.resource, id: resource_resource_user0}:
|
||||
name: User 1
|
||||
resource_type: user
|
||||
time_efficiency: 1.0
|
||||
user_id: res_users_user0
|
||||
-
|
||||
I create a resource for second user.
|
||||
-
|
||||
!record {model: resource.resource, id: resource_resource_user1}:
|
||||
name: User 2
|
||||
resource_type: user
|
||||
time_efficiency: 1.0
|
||||
user_id: res_users_user1
|
||||
-
|
||||
Now I create one phase for the project.
|
||||
-
|
||||
!record {model: project.phase, id: project_phase_phasea0}:
|
||||
date_start: '2011-01-06'
|
||||
duration: 2.0
|
||||
name: Phase A
|
||||
product_uom: product.uom_day
|
||||
project_id: project_project_projecta0
|
||||
resource_ids:
|
||||
- project_id: project_project_projecta0
|
||||
resource_id: resource_resource_user0
|
||||
- project_id: project_project_projecta0
|
||||
resource_id: resource_resource_user1
|
||||
state: draft
|
||||
task_ids:
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task D
|
||||
planned_hours: 5.0
|
||||
project_id: project_project_projecta0
|
||||
remaining_hours: 5.0
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task C
|
||||
planned_hours: 5.0
|
||||
project_id: project_project_projecta0
|
||||
remaining_hours: 5.0
|
||||
sequence: 11
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task B
|
||||
planned_hours: 5.0
|
||||
project_id: project_project_projecta0
|
||||
remaining_hours: 5.0
|
||||
sequence: 13
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
- delay_hours: 0.0
|
||||
effective_hours: 0.0
|
||||
name: Task A
|
||||
planned_hours: 5.0
|
||||
project_id: project_project_projecta0
|
||||
remaining_hours: 5.0
|
||||
sequence: 14
|
||||
state: draft
|
||||
total_hours: 5.0
|
||||
-
|
||||
Now I create a record to schedule the tasks of project.
|
||||
-
|
||||
!record {model: project.compute.tasks, id: project_compute_tasks0}:
|
||||
project_id: project_project_projecta0
|
||||
-
|
||||
I schedule the tasks.
|
||||
-
|
||||
!python {model: project.compute.tasks}: |
|
||||
self.compute_date(cr, uid, [ref("project_compute_tasks0")])
|
||||
-
|
||||
I check that whether the tasks now allocated to respected resources or not.
|
||||
-
|
||||
!python {model: project.task}: |
|
||||
task_ids = self.search(cr, uid, [('project_id','=',ref('project_project_projecta0'))])
|
||||
for task in self.browse(cr, uid, task_ids):
|
||||
if (not task.user_id) or (not task.date_start) or (not task.date_end):
|
||||
raise AssertionError("Tasks are not scheduled.")
|
Loading…
Reference in New Issue