summaryrefslogtreecommitdiff
path: root/addons/project_long_term/test/schedule_project_phases.yml
diff options
context:
space:
mode:
Diffstat (limited to 'addons/project_long_term/test/schedule_project_phases.yml')
-rw-r--r--addons/project_long_term/test/schedule_project_phases.yml143
1 files changed, 143 insertions, 0 deletions
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