summaryrefslogtreecommitdiff
path: root/addons/project_long_term/test
diff options
context:
space:
mode:
authorpap (openerp) <pap@tinyerp.co.in>2010-06-03 16:54:20 +0530
committerpap (openerp) <pap@tinyerp.co.in>2010-06-03 16:54:20 +0530
commit7ac215e587ea4107a705f1b57ac43ec3fefeb9ee (patch)
tree761766f448e7f2b0bdd14db859313d420381fa18 /addons/project_long_term/test
parent7d239dc01d9b986ebd311ff5bdfdcb72ec02fb07 (diff)
[ADD]:added yml test for project and project_ modules
bzr revid: pap@tinyerp.co.in-20100603112420-uofelwn685xlheum
Diffstat (limited to 'addons/project_long_term/test')
-rw-r--r--addons/project_long_term/test/schedule_phase_tasks.yml101
-rw-r--r--addons/project_long_term/test/schedule_project_phases.yml143
-rw-r--r--addons/project_long_term/test/schedule_project_tasks.yml108
3 files changed, 352 insertions, 0 deletions
diff --git a/addons/project_long_term/test/schedule_phase_tasks.yml b/addons/project_long_term/test/schedule_phase_tasks.yml
new file mode 100644
index 00000000000..73b4e204188
--- /dev/null
+++ b/addons/project_long_term/test/schedule_phase_tasks.yml
@@ -0,0 +1,101 @@
+-
+ Create project Project123
+-
+ !record {model: project.project, id: project_project_project0}:
+ company_id: base.main_company
+ name: Project123
+ members:
+ - project_long_term.res_users_manager0
+ - project_long_term.res_users_user0
+ - project_long_term.res_users_userfinance0
+ - project_long_term.res_users_userdesign0
+ - project_long_term.res_users_userdeveloper0
+ - project_long_term.res_users_usertester0
+ - project_long_term.res_users_useranalyst0
+-
+ Create phase phase123
+-
+ !record {model: project.phase, id: project_phase_phase0}:
+ date_start: '2010-06-02 00:00:00'
+ duration: 200.0
+ name: phase123
+ product_uom: product.uom_day
+ project_id: project_project_project0
+ state: draft
+ resource_ids:
+ - resource_id: project_long_term.resource_resource_analyst0
+ useability: 80.0
+ - resource_id: project_long_term.resource_resource_programmer0
+ useability: 30.0
+ - resource_id: project_long_term.resource_resource_webdesigner0
+ useability: 30.0
+
+
+-
+ Create the project task t1
+-
+ !record {model: project.task, id: project_task_t0}:
+ name: t1
+ occupation_rate: 1.0
+ planned_hours: 20.0
+ remaining_hours: 20.0
+ state: draft
+ phase_id: project_phase_phase0
+ project_id: project_project_project0
+
+
+-
+ Create the project task t2
+-
+ !record {model: project.task, id: project_task_t1}:
+ name: t2
+ occupation_rate: 1.0
+ planned_hours: 25.0
+ remaining_hours: 25.0
+ state: draft
+ phase_id: project_phase_phase0
+ project_id: project_project_project0
+
+-
+ Create the project task t3
+-
+ !record {model: project.task, id: project_task_t2}:
+ name: t3
+ occupation_rate: 1.0
+ planned_hours: 30.0
+ remaining_hours: 30.0
+ state: draft
+ phase_id: project_phase_phase0
+ project_id: project_project_project0
+
+
+-
+ Create the project task t4
+-
+ !record {model: project.task, id: project_task_3}:
+ name: t4
+ occupation_rate: 1.0
+ planned_hours: 25.0
+ remaining_hours: 25.0
+ state: draft
+ phase_id: project_phase_phase0
+ project_id: project_project_project0
+
+
+-
+ Schedule phase tasks
+-
+ !python {model: project.schedule.tasks}: |
+ self.compute_date(cr, uid, {"lang": "en_US",
+ "active_model": "project.phase", "active_ids": [ref("project_phase_phase0")],
+ "tz": False, "record_id": 138, "project_id": ref("project_project_project0"), "active_id": ref("project_phase_phase0"),
+ })
+
+-
+ Check if tasks scheduled, check that either of task's start_date, end_date and user_id is not null
+-
+ !python {model: project.phase}: |
+ phase=self.browse(cr, uid, [ref("project_phase_phase0")])[0]
+ for task in phase.task_ids:
+ if (not task.user_id) or (not task.date_start) or (not task.date_end):
+ raise AssertionError("Phase Tasks not scheduled") \ No newline at end of file
diff --git a/addons/project_long_term/test/schedule_project_phases.yml b/addons/project_long_term/test/schedule_project_phases.yml
new file mode 100644
index 00000000000..470f2dc2e48
--- /dev/null
+++ b/addons/project_long_term/test/schedule_project_phases.yml
@@ -0,0 +1,143 @@
+-
+ Create a project 'World Bank's Project'
+-
+ !record {model: project.project, id: project_project_worldbanksproject0}:
+ company_id: base.main_company
+ name: "World Bank's Project"
+ priority: 4
+
+-
+ Create a project phase 'Defining Client's Basic Idea of Project'
+-
+ !record {model: project.phase, id: project_phase_definingclientsbasicideaofproject0}:
+ date_start: '2010-06-02 00:00:00'
+ duration: 15.0
+ name: "Defining Client's Basic Idea of Project"
+ product_uom: product.uom_day
+ project_id: project_project_worldbanksproject0
+ state: draft
+
+
+-
+ Create project phase 'Establishing Project Feasibility'
+-
+ !record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
+ date_start: '2010-06-02 00:00:00'
+ duration: 30.0
+ name: Establishing Project Feasibility
+ product_uom: product.uom_day
+ project_id: project_project_worldbanksproject0
+ state: draft
+
+-
+ Create project phase 'Preparation of Engineering Designs'
+-
+ !record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
+ date_start: '2010-06-02 00:00:00'
+ duration: 100.0
+ name: Preparation of Engineering Designs
+ product_uom: product.uom_hour
+ project_id: project_project_worldbanksproject0
+ state: draft
+
+
+-
+ Create project phase 'Procurement of Works and Goods'
+-
+ !record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
+ date_start: '2010-06-02 00:00:00'
+ duration: 24.0
+ name: Procurement of Works and Goods
+ product_uom: product.uom_hour
+ project_id: project_project_worldbanksproject0
+ state: draft
+
+
+-
+ Create project phase 'Project Construction'
+-
+ !record {model: project.phase, id: project_phase_projectconstruction0}:
+ date_start: '2010-06-02 00:00:00'
+ duration: 4320.0
+ name: Project Construction
+ product_uom: product.uom_hour
+ project_id: project_project_worldbanksproject0
+ state: draft
+
+
+-
+ Create project phase 'Project Completion'
+-
+ !record {model: project.phase, id: project_phase_projectcompletion0}:
+ date_start: '2010-06-02 00:00:00'
+ duration: 240.0
+ name: Project Completion
+ product_uom: product.uom_hour
+ project_id: project_project_worldbanksproject0
+ state: draft
+
+-
+ Set previous phase for phase 'Establishing Project Feasibility'
+-
+ !record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
+ previous_phase_ids:
+ - project_phase_definingclientsbasicideaofproject0
+
+
+-
+ Set previous phase for phase 'Preparation of Engineering Designs'
+-
+ !record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
+ previous_phase_ids:
+ - project_phase_establishingprojectfeasibility0
+
+-
+ Set previous phase for phase 'Procurement of Works and Goods'
+-
+ !record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
+ previous_phase_ids:
+ - project_phase_preparationofengineeringdesigns0
+
+-
+ Set previous phase for phase 'Project Construction'
+-
+ !record {model: project.phase, id: project_phase_projectconstruction0}:
+ previous_phase_ids:
+ - project_phase_procurementofworksandgoods0
+
+
+-
+ Set previous phase for phase 'Project Completion'
+-
+ !record {model: project.phase, id: project_phase_projectcompletion0}:
+ previous_phase_ids:
+ - project_phase_projectconstruction0
+
+
+-
+ Get the project to schedule phases
+-
+ !record {model: project.compute.phases, id: project_compute_phases_0}:
+ project_id: project_project_worldbanksproject0
+ target_project: one
+
+
+-
+ Schedule project phases
+-
+ !python {model: project.compute.phases}: |
+ self.check_selection(cr, uid, [ref("project_compute_phases_0")], {"lang": "en_US",
+ "project_id": False, "tz": False, "active_model": "ir.ui.menu", "department_id":
+ False, "section_id": False, "record_id": 279, "active_ids": [ref("project_long_term.menu_compute_phase")],
+ "active_id": ref("project_long_term.menu_compute_phase"), })
+
+-
+ Check if phases scheduled, check that either of phase's start_date, end_date and user_id is not null
+-
+ !python {model: project.project}: |
+ prj=self.browse(cr, uid, [ref("project_project_worldbanksproject0")])[0]
+ for task in prj.tasks:
+ if (not task.user_id) or (not task.date_start) or (not task.date_end):
+ raise AssertionError("Tasks not scheduled")
+
+ \ No newline at end of file
diff --git a/addons/project_long_term/test/schedule_project_tasks.yml b/addons/project_long_term/test/schedule_project_tasks.yml
new file mode 100644
index 00000000000..3bdeec68452
--- /dev/null
+++ b/addons/project_long_term/test/schedule_project_tasks.yml
@@ -0,0 +1,108 @@
+-
+ Create project Project2
+-
+ !record {model: project.project, id: project_project_project1}:
+ company_id: base.main_company
+ name: Project2
+ members:
+ - project_long_term.res_users_manager0
+ - project_long_term.res_users_user0
+ - project_long_term.res_users_userfinance0
+ - project_long_term.res_users_userdesign0
+ - project_long_term.res_users_userdeveloper0
+ - project_long_term.res_users_usertester0
+ - project_long_term.res_users_useranalyst0
+
+-
+ Create phase phase22
+-
+ !record {model: project.phase, id: project_phase_phase1}:
+ date_start: '2010-06-02 00:00:00'
+ duration: 100.0
+ name: phase22
+ product_uom: product.uom_day
+ project_id: project_project_project1
+ state: draft
+ resource_ids:
+ - resource_id: project_long_term.resource_resource_analyst0
+ useability: 80.0
+ - resource_id: project_long_term.resource_resource_programmer0
+ useability: 30.0
+ - resource_id: project_long_term.resource_resource_webdesigner0
+ useability: 30.0
+
+
+-
+ Create the project task t1
+-
+ !record {model: project.task, id: project_task_t00}:
+ name: t1
+ occupation_rate: 1.0
+ planned_hours: 20.0
+ remaining_hours: 20.0
+ state: draft
+ phase_id: project_phase_phase1
+ project_id: project_project_project1
+
+
+-
+ Create the project task t2
+-
+ !record {model: project.task, id: project_task_t11}:
+ name: t2
+ occupation_rate: 1.0
+ planned_hours: 25.0
+ remaining_hours: 25.0
+ state: draft
+ phase_id: project_phase_phase1
+ project_id: project_project_project1
+
+-
+ Create the project task t3
+-
+ !record {model: project.task, id: project_task_t22}:
+ name: t3
+ occupation_rate: 1.0
+ planned_hours: 30.0
+ remaining_hours: 30.0
+ state: draft
+ phase_id: project_phase_phase1
+ project_id: project_project_project1
+
+
+-
+ Create the project task t4
+-
+ !record {model: project.task, id: project_task_t33}:
+ name: t4
+ occupation_rate: 1.0
+ planned_hours: 25.0
+ remaining_hours: 25.0
+ state: draft
+ phase_id: project_phase_phase1
+ project_id: project_project_project1
+
+-
+ Get the project to schedule the tasks
+-
+ !record {model: project.compute.tasks, id: project_compute_tasks_0}:
+ project_id: project_project_project1
+
+
+-
+ Schedule tasks
+-
+ !python {model: project.compute.tasks}: |
+ self.compute_date(cr, uid, [ref("project_compute_tasks_0")], {"lang": "en_US",
+ "active_model": "ir.ui.menu", "active_ids": [ref("project_long_term.menu_compute_tasks")],
+ "tz": False, "record_id": 138, "project_id": ref("project_project_project1"), "active_id": ref("project_long_term.menu_compute_tasks"),
+ })
+
+-
+ Check if tasks scheduled, check that either of task's start_date, end_date and user_id is not null
+-
+ !python {model: project.project}: |
+ prj=self.browse(cr, uid, [ref("project_project_project1")])[0]
+ for task in prj.tasks:
+ if (not task.user_id) or (not task.date_start) or (not task.date_end):
+ raise AssertionError("Project Tasks not scheduled") \ No newline at end of file