diff options
| author | uco (OpenERP) <uco@tinyerp.com> | 2011-01-06 19:01:07 +0530 |
|---|---|---|
| committer | uco (OpenERP) <uco@tinyerp.com> | 2011-01-06 19:01:07 +0530 |
| commit | 6d50b5a445d3bfbdddf22161359d35a73780bd01 (patch) | |
| tree | d349e3cba9831c9b0502c86a86cca94cff19ec53 /addons/project_long_term/test | |
| parent | 3917684c06c8d8d50bc5f101f3285b7554264671 (diff) | |
[ADD] project_long_term: Added a yaml for testing scheduled tasks.
bzr revid: uco@tinyerp.com-20110106133107-5obwr2qnpqypyiw0
Diffstat (limited to 'addons/project_long_term/test')
| -rw-r--r-- | addons/project_long_term/test/test_schedule_tasks_case1.yml | 263 |
1 files changed, 263 insertions, 0 deletions
diff --git a/addons/project_long_term/test/test_schedule_tasks_case1.yml b/addons/project_long_term/test/test_schedule_tasks_case1.yml new file mode 100644 index 00000000000..78bf5e318a4 --- /dev/null +++ b/addons/project_long_term/test/test_schedule_tasks_case1.yml @@ -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.") |
