summaryrefslogtreecommitdiff
path: root/addons/project_long_term/test
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2011-09-25 11:59:48 +0200
committerAntony Lesuisse <al@openerp.com>2011-09-25 11:59:48 +0200
commit96b9454a32eb4ba6b0f8fb67c4ba354ea2ba9be2 (patch)
tree32432b7ef77d8f9544590a3fea15397bbcf5d3a8 /addons/project_long_term/test
parente33f8abf7ca1385ea4d002dbf7c8da3fa7d5e80e (diff)
[FIX] revert 5138 revid:fp@tinyerp.com-20110924090407-x4e0ptu2am495rpv incorrect tests
bzr revid: al@openerp.com-20110925095948-hgtg1djicpvcm3nc
Diffstat (limited to 'addons/project_long_term/test')
-rw-r--r--addons/project_long_term/test/phase_constraint.yml261
-rw-r--r--addons/project_long_term/test/project_schedule_consecutive_day.yml109
-rw-r--r--addons/project_long_term/test/project_schedule_without_wroking_hour.yml54
-rw-r--r--addons/project_long_term/test/schedule_phase_tasks.yml50
-rw-r--r--addons/project_long_term/test/schedule_project_phases.yml50
-rw-r--r--addons/project_long_term/test/schedule_project_tasks.yml56
-rw-r--r--addons/project_long_term/test/test_schedule_phases_case1.yml11
-rw-r--r--addons/project_long_term/test/test_schedule_phases_case2.yml67
-rw-r--r--addons/project_long_term/test/test_schedule_tasks_case1.yml40
9 files changed, 274 insertions, 424 deletions
diff --git a/addons/project_long_term/test/phase_constraint.yml b/addons/project_long_term/test/phase_constraint.yml
index ff0f847fefb..ad1a3db095e 100644
--- a/addons/project_long_term/test/phase_constraint.yml
+++ b/addons/project_long_term/test/phase_constraint.yml
@@ -1,252 +1,117 @@
--
- I have a project 'Develop yaml Project Module'.
--
+-
+ Given that I have a project 'Test Phases'.
+-
!record {model: project.project, id: project_project_developyamlproject0}:
name: "Develop Yaml Project Module"
date_start: !eval time.strftime('%Y-%m-%d')
--
- I have set Working Time from Monday to Friday from 9am to 17pm.
--
- !record {model: resource.calendar, id: resource_calendar_hoursweeks0}:
- name: "from Monday to Friday, from 9am to 17pm"
-
--
- I have set Day1 Working Time for Monday to Friday from 9am to 17pm working hour.
--
- !record {model: resource.calendar.attendance, id: resource_calendar_atendanceday1}:
- name: "Day1"
- hour_from : 09.00
- hour_to : 17.00
- dayofweek : "0"
- calendar_id : resource_calendar_hoursweeks0
-
--
- I have set Day2 Working Time for Monday to Friday from 9am to 17pm working hour.
--
- !record {model: resource.calendar.attendance, id: resource_calendar_atendanceday1}:
- name: "Day2"
- hour_from : 09.00
- hour_to : 17.00
- dayofweek : "1"
- calendar_id : resource_calendar_hoursweeks0
-
--
- I have set Day3 Working Time for Monday to Friday from 9am to 17pm working hour.
--
- !record {model: resource.calendar.attendance, id: resource_calendar_atendanceday1}:
- name: "Day3"
- hour_from : 09.00
- hour_to : 17.00
- dayofweek : "2"
- calendar_id : resource_calendar_hoursweeks0
-
--
- I have set Day4 Working Time for Monday to Friday from 9am to 17pm working hour.
--
- !record {model: resource.calendar.attendance, id: resource_calendar_atendanceday1}:
- name: "Day4"
- hour_from : 09.00
- hour_to : 17.00
- dayofweek : "3"
- calendar_id : resource_calendar_hoursweeks0
-
--
- I have set Day5 Working Time for Monday to Friday from 9am to 17pm working hour.
--
- !record {model: resource.calendar.attendance, id: resource_calendar_atendanceday1}:
- name: "Day5"
- hour_from : 09.00
- hour_to : 17.00
- dayofweek : "4"
- calendar_id : resource_calendar_hoursweeks0
-
-
--
- Now Set working period to Project 'Develop yaml Project Module'.
--
- !python {model: project.project}: |
- context.update({'resource_calendar_id': ref("resource_calendar_hoursweeks0")})
- self.write(cr, uid, [ref("project_project_developyamlproject0")], context)
- self.schedule_tasks(cr, uid, [ref('project_project_developyamlproject0')], context)
-
- for project in self.browse(cr, uid, [ref('project_project_developyamlproject0')], context):
- start_date = project.date_start
- end_date = start_date
- context.update({'start_date' : start_date,'end_date' : end_date})
- self.compute_allocation(cr, uid, [ref('project_project_developyamlproject0')], start_date, end_date, context)
- self.generate_members(cr, uid, [ref('project_project_developyamlproject0')], context=None)
--
- I create 3 consecutive 5-days phases.
- For that Creating a Analyst Human resource to analyst Project Yaml.
--
+ resource_calendar_id: resource.timesheet_group1
+-
+ And I create three human ressources to work on this project, an analyst.
+-
!record {model: resource.resource, id: resource_resource_analyst1}:
- calendar_id: project_long_term.resource_calendar_hoursweeks0
+ calendar_id: resource.timesheet_group1
name: Analyst
resource_type: user
time_efficiency: 1.0
user_id: base.user_admin
-
--
- I create Developer Human resource who develop Yaml.
--
+-
+ I define a developer HR.
+-
!record {model: resource.resource, id: resource_resource_develop0}:
- calendar_id: project_long_term.resource_calendar_hoursweeks0
+ calendar_id: resource.timesheet_group1
name: Developer
resource_type: user
time_efficiency: 1.0
user_id: base.user_admin
--
- I create a Tester Human resource for testing Yaml.
--
+-
+ I define a tester HR.
+-
!record {model: resource.resource, id: resource_resource_tester1}:
- calendar_id: project_long_term.resource_calendar_hoursweeks0
+ calendar_id: resource.timesheet_group1
name: tester
resource_type: user
time_efficiency: 1.0
user_id: base.user_admin
-
--
- I create 3 a project phase and NO one depends on other one.
- so,they should start on the same day.
- I create First 'Analysis Flow for Yaml' Project Phase.
--
+-
+ Then I create three phases for my projects; Analysis, Development, Testing.
+-
+ The first phase is 'Analysis' and has a duration of 6 days.
+-
!record {model: project.phase, id: project_phase_analysisflowforyaml0}:
date_start: !eval time.strftime('%Y-%m-%d')
duration: 6.0
- name: "Analysis Flow for Yaml"
+ name: "Analysis"
product_uom: product.uom_day
project_id: project_project_developyamlproject0
responsible_id: project.res_users_analyst
state: draft
--
- I update the Constrain Date Start adn Date End for phase Analysis Flow for Yaml.
--
+-
+ I update the constrain and the analysis phase to not start before 4 days.
+-
!python {model : project.phase }: |
+ pass
import datetime
from dateutil.relativedelta import *
- start = datetime.date.today() - relativedelta(days=2)
- end = datetime.date.today() + relativedelta(days=6)
- self.write(cr,uid, [(ref("project_phase_analysisflowforyaml0"))], {'constraint_date_start': start, 'constraint_date_end':end})
-
--
- I create project phase 'Develop yaml' with constraint date.
--
+ start = datetime.date.today() + relativedelta(days=4)
+ self.write(cr,uid, [(ref("project_phase_analysisflowforyaml0"))], {'constraint_date_start': start})
+-
+ The second phase is 'Development' and depend on the 'Analysis', with a duration of 6 days.
+-
!record {model: project.phase, id: project_phase_developyaml0}:
duration: 6.0
- name: Develop Yaml
+ name: Development
product_uom: product.uom_day
project_id: project_project_developyamlproject0
- responsible_id: base.user_admin
previous_phase_ids:
- project_phase_analysisflowforyaml0
--
- I update the Constrain Date Start adn Date End for phase Develop yaml.
--
+-
+ I update the Constrain Date Start adn Date End for phase Develop yaml
+-
!python {model : project.phase }: |
+ pass
import datetime
- from dateutil.relativedelta import *
- start = datetime.date.today() - relativedelta(days=5)
- end = datetime.date.today() + relativedelta(days=10)
- self._get_default_uom_id(cr, uid)
- self.write(cr,uid, [(ref("project_phase_developyaml0"))], {'constraint_date_start': start, 'constraint_date_end':end})
--
- I create project phase 'Test Yaml'.
+ #from dateutil.relativedelta import *
+ #start = datetime.date.today() - relativedelta(days=5)
+ #end = datetime.date.today() + relativedelta(days=10)
+ #self.write(cr,uid, [(ref("project_phase_developyaml0"))], {'constraint_date_start': start, 'constraint_date_end':end})
-
+ The third phase is 'Testing' and depend on the 'Develop' phase, with a duration of 6 days.
+-
!record {model: project.phase, id: project_phase_testyaml0}:
duration: 6.0
- name: Testing Yaml
+ name: Testing
product_uom: product.uom_day
project_id: project_project_developyamlproject0
previous_phase_ids:
- project_phase_developyaml0
- constraint_date_start :
- constraint_date_end :
--
- I compute Schedule of phases For One project.
--
+-
+ Then I launch the scheduler to compute starting and ending phases on all phases of this project.
+-
!record {model: project.compute.phases, id: project_compute_phases_0}:
project_id: project_project_developyamlproject0
target_project: one
-
--
- I schedule project phases using "Compute Phase Scheduling".
--
+-
!python {model: project.project}: |
self.schedule_phases(cr, uid, [ref("project_project_developyamlproject0")])
-
-
- After scheduling,check that.
- Phase "Analysis Flow for Yaml" and "Test Yaml" Phase should start on the project start date while "Develop yaml" Phase should respect the constraint.
--
- !python {model: project.project}: |
- proj=self.browse(cr, uid, [ref("project_project_developyamlproject0")])[0]
- for phase in proj.phase_ids:
- for phase1 in proj.phase_ids:
- if phase1.id != phase.id and phase.constraint_date_start == phase1.date_start:
- raise AssertionError("Phases not scheduled")
--
- Now, I am Checking constraint start and end for Phase 'Develop Yaml'.
--
- !python {model: project.phase}: |
- self._check_constraint_start(cr, uid, [ref("project_phase_developyaml0")],context)
- self._check_constraint_end(cr, uid, [ref("project_phase_developyaml0")],context)
--
- I am opening the Phase 'Develop Yaml'.
--
- !python {model: project.phase}: |
- self.set_open(cr, uid, [ref("project_phase_developyaml0")])
--
- Now, Compute the Total Hours.
+ After scheduling, I check the starting date and ending date on the phases are correct.
-
!python {model: project.phase}: |
- field_name = 'test'
- arg = {}
- self._compute(cr, uid, [ref("project_phase_developyaml0")], field_name, arg, context=None)
+ import datetime
+ from dateutil.relativedelta import *
+ minstart = (datetime.date.today() + relativedelta(days=4)).strftime('%Y-%m-%d')
+ minend = (datetime.date.today() + relativedelta(days=11)).strftime('%Y-%m-%d')
+
+ phase1=self.browse(cr, uid, ref('project_phase_analysisflowforyaml0'))
+ assert phase1.date_start>=minstart, 'Error, the Analysis phase '+phase1.date_start+' should start after '+str(minstart)
+ assert phase1.date_end>=minend, 'Error, the Analysis phase should end after '+str(minend)
+
+ phase2=self.browse(cr, uid, ref('project_phase_developyaml0'))
+ assert phase2.date_start>=phase1.date_end, 'Error, the phase Development should start after the end of the Analysis phase'
+
+ phase3=self.browse(cr, uid, ref('project_phase_testyaml0'))
+ assert phase3.date_start>=phase2.date_end, 'Error, the phase Testing should start after the end of the Development phase'
+ assert phase3.date_start<phase3.date_end, 'Error, the phase Testing should start before ending'
--
- Now, change the partner if needed.
--
- !python {model: project.phase}: |
- for project in self.browse(cr, uid, [ref('project_phase_developyaml0')], context):
- project_id = project.project_id.id
- start_date = project.date_start
- end_date = project.date_end
- context.update({'start_date' : start_date,'end_date' : end_date})
- self.onchange_project(cr, uid, [ref("project_phase_developyaml0")], project_id,context)
--
- Now, Check start date.
--
- !python {model: project.phase}: |
- phase=self.browse(cr, uid, ref('project_phase_developyaml0'), context=context)
- context.update({'project_id': ref('project_project_developyamlproject0')})
- try:
- self._check_date_start(cr, uid, phase, context.get('end_date'), context)
- except:
- pass
--
- Now, Check end date.
--
- !python {model: project.phase}: |
- phase=self.browse(cr, uid, ref('project_phase_developyaml0'), context=context)
- context.update({'project_id': ref('project_project_developyamlproject0')})
- try:
- self._check_date_end(cr, uid, phase, context.get('start_date'), context)
- except:
- pass
--
- I am Postponding the Phase 'Develop Yaml' So Setting State to Pending.
--
- !python {model: project.phase}: |
- self.set_pending(cr, uid, [ref("project_phase_developyaml0")])
--
- Now, Done the Phase 'Develop Yaml'.
--
- !python {model: project.phase}: |
- self.set_done(cr, uid, [ref("project_phase_developyaml0")])
--
- I am Cancelling the Phase 'Develop Yaml'.
--
- !python {model: project.phase}: |
- self.set_cancel(cr, uid, [ref("project_phase_developyaml0")])
diff --git a/addons/project_long_term/test/project_schedule_consecutive_day.yml b/addons/project_long_term/test/project_schedule_consecutive_day.yml
index bb2671af1d3..10cfc7b6b9c 100644
--- a/addons/project_long_term/test/project_schedule_consecutive_day.yml
+++ b/addons/project_long_term/test/project_schedule_consecutive_day.yml
@@ -1,19 +1,19 @@
--
- I create a project 'Develop yaml Project Module'.
--
+-
+ Create a project 'Develop yaml Project Module'.
+-
!record {model: project.project, id: project_project_developyamlproject_2}:
name: "Develop Yaml Project Module"
date_start: !eval time.strftime('%Y-%m-%d')
--
+-
I have set Working Time from Monday to Friday from 9am to 17pm.
--
+-
!record {model: resource.calendar, id: resource_calendar_hoursweekstest_P2}:
name: "from Monday to Friday, from 9am to 17pm"
--
- I have set Day1 Working Time for Monday to Friday from 9am to 17pm working hour.
--
+-
+ I have set Day1 Working Time for Monday to Friday from 9am to 17pm working hour
+-
!record {model: resource.calendar.attendance, id: resource_calendar_hoursweekstest_P2day1}:
name: "Day1"
hour_from : 09.00
@@ -21,29 +21,29 @@
dayofweek : "0"
calendar_id : resource_calendar_hoursweekstest_P2
--
- I have set Day2 Working Time for Monday to Friday from 9am to 17pm working hour.
--
+-
+ I have set Day2 Working Time for Monday to Friday from 9am to 17pm working hour
+-
!record {model: resource.calendar.attendance, id: rresource_calendar_hoursweekstest_P2day2}:
name: "Day2"
hour_from : 09.00
hour_to : 17.00
dayofweek : "1"
calendar_id : resource_calendar_hoursweekstest_P2
-
--
- I have set Day3 Working Time for Monday to Friday from 9am to 17pm working hour.
--
+
+-
+ I have set Day3 Working Time for Monday to Friday from 9am to 17pm working hour
+-
!record {model: resource.calendar.attendance, id: resource_calendar_hoursweekstest_P2day3}:
name: "Day3"
hour_from : 09.00
hour_to : 17.00
- dayofweek : "2"
+ dayofweek : "2"
calendar_id : resource_calendar_hoursweekstest_P2
--
- I have set Day4 Working Time for Monday to Friday from 9am to 17pm working hour.
--
+-
+ I have set Day4 Working Time for Monday to Friday from 9am to 17pm working hour
+-
!record {model: resource.calendar.attendance, id: resource_calendar_hoursweekstest_P2day4}:
name: "Day4"
hour_from: 09.00
@@ -51,8 +51,8 @@
dayofweek: "3"
calendar_id: resource_calendar_hoursweekstest_P2
--
- I have set Day5 Working Time for Monday to Friday from 9am to 17pm working hour.
+-
+ I have set Day5 Working Time for Monday to Friday from 9am to 17pm working hour
-
!record {model: resource.calendar.attendance, id: resource_calendar_hoursweekstest_P2day5}:
name: "Day5"
@@ -61,16 +61,16 @@
dayofweek: "4"
calendar_id: resource_calendar_hoursweekstest_P2
--
- Now Set working period to Project 'Develop yaml Project Module'.
--
- !python {model: project.project}: |
+-
+ Now Set working period to Project 'Develop yaml Project Module'
+-
+ !python {model: project.project}: |
self.write(cr, uid, [ref("project_project_developyamlproject_2")], {'resource_calendar_id': ref("resource_calendar_hoursweekstest_P2")})
--
- I create 3 a project phase.
- First 'Analysis Flow for Yaml'Project Phase.
--
+-
+ Create 3 a project phase.
+ First 'Analysis Flow for Yaml'Project Phase
+-
!record {model: project.phase, id: project_project_developyamlproject_2_Phase1}:
date_start: !eval time.strftime('%Y-%m-%d')
duration: 5.0
@@ -78,10 +78,10 @@
product_uom: product.uom_day
project_id: project_project_developyamlproject_2
state: draft
-
--
- I create project phase 'Develop yaml'.
--
+
+-
+ Create project phase 'Develop yaml'
+-
!record {model: project.phase, id: project_project_developyamlproject_2_Phase2}:
duration: 5.0
name: Develop Yaml
@@ -89,31 +89,31 @@
project_id: project_project_developyamlproject_2
previous_phase_ids:
- project_project_developyamlproject_2_Phase1
-
--
- I create project phase 'Test Yaml'.
--
+
+-
+ Create project phase 'Test Yaml'
+-
!record {model: project.phase, id: project_project_developyamlproject_2_Phase3}:
duration: 5.0
name: Testing Yaml
product_uom: product.uom_day
project_id: project_project_developyamlproject_2
previous_phase_ids:
- - project_project_developyamlproject_2_Phase2
-
--
- I compute Schedule of phases For One project.
--
+ - project_project_developyamlproject_2_Phase2
+
+-
+ Compute Schedule of phases For One project
+-
!record {model: project.compute.phases, id: project_compute_phases_0}:
project_id: project_project_developyamlproject_2
target_project: one
-
--
- I schedule project phases using Compute Phase Scheduling.
--
+
+-
+ Schedule project phases using Compute Phase Scheduling
+-
!python {model: project.project}: |
self.schedule_phases(cr, uid, [ref("project_project_developyamlproject_2")])
-
+
-
After scheduling, Check that phases scheduled, check that either of phase's start_date, end_date not null.
-
@@ -121,17 +121,6 @@
proj=self.browse(cr, uid, [ref("project_project_developyamlproject_2")])[0]
for phase in proj.phase_ids:
if (not phase.responsible_id) or (not phase.date_start) or (not phase.date_end):
- raise AssertionError("Phases not scheduled")
+ raise AssertionError("Phases not scheduled")
+
--
- I schedule the task.
--
- !record {model: project.schedule.tasks, id: project_schedule_tasks_0}:
- msg: Task Scheduling Completed Successfully
-
--
- I compute date and Phase Scheduling.
--
- !python {model: project.schedule.tasks}: |
- self.default_get(cr, uid, fields_list = {}, context=None)
- self.compute_date(cr, uid, context=None)
diff --git a/addons/project_long_term/test/project_schedule_without_wroking_hour.yml b/addons/project_long_term/test/project_schedule_without_wroking_hour.yml
index e372d5d2025..61a8539585a 100644
--- a/addons/project_long_term/test/project_schedule_without_wroking_hour.yml
+++ b/addons/project_long_term/test/project_schedule_without_wroking_hour.yml
@@ -1,14 +1,14 @@
-
- I create a project 'Develop yaml Implementation Module'.
+ Create a project 'Develop yaml Implementation Module'.
-
!record {model: project.project, id: project_project_developyamlproject_2}:
name: "Develop Yaml Project Module"
date_start: !eval time.strftime('%Y-%m-%d')
--
- I create 4 Project phase.
- First Project Phase 'Analysis Flow for Yaml'.
--
+-
+ Create 4 Project phase.
+ First Project Phase 'Analysis Flow for Yaml'
+-
!record {model: project.phase, id: project_project_developyamlproject_2_phase_1}:
date_start: !eval time.strftime('%Y-%m-%d')
duration: 6.0
@@ -17,10 +17,10 @@
project_id: project_project_developyamlproject_2
responsible_id: project.res_users_analyst
state: draft
-
--
- I create project phase 'Develop yaml'.
--
+
+-
+ Create project phase 'Develop yaml'
+-
!record {model: project.phase, id: project_project_developyamlproject_2_phase_2}:
duration: 6.0
name: "Develop yaml"
@@ -29,42 +29,42 @@
previous_phase_ids:
- project_project_developyamlproject_2_phase_1
state: draft
--
- I create project phase 'Test Yaml'.
--
+-
+ Create project phase 'Test Yaml'
+-
!record {model: project.phase, id: project_project_developyamlproject_2_phase_3}:
duration: 6.0
name: Testing Yaml
product_uom: product.uom_day
project_id: project_project_developyamlproject_2
previous_phase_ids:
- - project_project_developyamlproject_2_phase_2
+ - project_project_developyamlproject_2_phase_2
state: draft
--
- I create project phase 'Implement Yaml'.
--
+-
+ Create project phase 'Implement Yaml'
+-
!record {model: project.phase, id: project_project_developyamlproject_2_phase_4}:
duration: 6.0
name: Testing Yaml
product_uom: product.uom_day
project_id: project_project_developyamlproject_2
previous_phase_ids:
- - project_project_developyamlproject_2_phase_3
+ - project_project_developyamlproject_2_phase_3
state: draft
--
- I compute Schedule of phases For One project .
--
+-
+ Compute Schedule of phases For One project
+-
!record {model: project.compute.phases, id: project_compute_phases_0}:
project_id: project_project_developyamlproject_2
target_project: one
-
--
- I schedule project phases using Compute Phase Scheduling.
--
+
+-
+ Schedule project phases using Compute Phase Scheduling
+-
!python {model: project.project}: |
self.schedule_phases(cr, uid, [ref("project_project_developyamlproject_2")])
-
+
-
After scheduling, Check that phases scheduled, check that either of phase's start_date, end_date not null.
-
@@ -72,4 +72,6 @@
proj=self.browse(cr, uid, [ref("project_project_developyamlproject_2")])[0]
for phase in proj.phase_ids:
if (not phase.responsible_id) or (not phase.date_start) or (not phase.date_end):
- raise AssertionError("Phases not scheduled")
+ raise AssertionError("Phases not scheduled")
+
+
diff --git a/addons/project_long_term/test/schedule_phase_tasks.yml b/addons/project_long_term/test/schedule_phase_tasks.yml
index db97351e9cd..be22f778cee 100644
--- a/addons/project_long_term/test/schedule_phase_tasks.yml
+++ b/addons/project_long_term/test/schedule_phase_tasks.yml
@@ -1,6 +1,6 @@
--
- I create project 'Develop an outlook-openerp synchronization plugin'.
--
+-
+ Create project 'Develop an outlook-openerp synchronization plugin'
+-
!record {model: project.project, id: project_project_project4}:
name: Develop an outlook-openerp synchronization plugin
members:
@@ -11,9 +11,9 @@
- project.res_users_tester
- project.res_users_analyst
- project.res_users_finacial_manager
--
- I create phase 'Develop GUI' in Outlook.
--
+-
+ Create phase 'Develop GUI' in Outlook
+-
!record {model: project.phase, id: project_phase_phase0}:
date_start: !eval time.strftime("%Y-%m-%d")
duration: 200.0
@@ -27,10 +27,10 @@
- resource_id: project_long_term.resource_designer
- resource_id: project_long_term.resource_tester
- resource_id: project_long_term.resource_project_manager
-
--
- I create the phase task 'Develop GUI for Server Configuration'.
--
+
+-
+ Create the phase task 'Develop GUI for Server Configuration'
+-
!record {model: project.task, id: project_task_t0}:
name: Develop GUI for Server Configuration
planned_hours: 20.0
@@ -39,10 +39,10 @@
phase_id: project_phase_phase0
project_id: project_project_project4
-
--
- I create the phase task 'Develop GUI for Modules Configuration'.
--
+
+-
+ Create the phase task 'Develop GUI for Modules Configuration'
+-
!record {model: project.task, id: project_task_t1}:
name: Develop GUI for Modules Configuration
planned_hours: 25.0
@@ -51,9 +51,9 @@
phase_id: project_phase_phase0
project_id: project_project_project4
--
- I create the phase task 'Develop GUI for OpenERP Synchronisation'.
--
+-
+ Create the phase task 'Develop GUI for OpenERP Synchronisation'
+-
!record {model: project.task, id: project_task_t2}:
name: Develop GUI for OpenERP Synchronisation
planned_hours: 30.0
@@ -62,9 +62,9 @@
phase_id: project_phase_phase0
project_id: project_project_project4
--
- I create the phase task 'Design required GUI/Menus'.
--
+-
+ Create the phase task 'Design required GUI/Menus'
+-
!record {model: project.task, id: project_task_3}:
name: Design required GUI/Menus
planned_hours: 25.0
@@ -72,15 +72,15 @@
state: draft
phase_id: project_phase_phase0
project_id: project_project_project4
-
--
- Schedule phase tasks.
--
+
+-
+ Schedule phase tasks
+-
!python {model: project.phase}: |
res = self.schedule_tasks(cr, uid, [ref("project_phase_phase0")])
-
- I check if tasks scheduled, check that either of task's start_date, end_date and user_id is not null.
+ 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]
diff --git a/addons/project_long_term/test/schedule_project_phases.yml b/addons/project_long_term/test/schedule_project_phases.yml
index a05ec1c31f8..4bc6549bf35 100644
--- a/addons/project_long_term/test/schedule_project_phases.yml
+++ b/addons/project_long_term/test/schedule_project_phases.yml
@@ -1,5 +1,5 @@
-
- I create a project 'World Bank's Project'.
+ Create a project 'World Bank's Project'
-
!record {model: project.project, id: project_project_worldbanksproject0}:
name: "World Bank's Project"
@@ -13,7 +13,7 @@
- project.res_users_tester
-
- I create a project phase 'Defining Client's Basic Idea of Project'.
+ Create a project phase 'Defining Client's Basic Idea of Project'
-
!record {model: project.phase, id: project_phase_definingclientsbasicideaofproject0}:
date_start: !eval time.strftime('%Y-%m-%d')
@@ -23,7 +23,7 @@
project_id: project_project_worldbanksproject0
-
- I create project phase 'Establishing Project Feasibility'.
+ Create project phase 'Establishing Project Feasibility'
-
!record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
date_start: !eval time.strftime('%Y-%m-%d')
@@ -38,15 +38,7 @@
!record {model: project.resource.allocation, id: res_phase1}:
resource_id: project_long_term.resource_project_manager
phase_id: project_phase_definingclientsbasicideaofproject0
--
- call get_name function.
--
- !python {model: project.resource.allocation}: |
- arg={}
- field_name = {
- 'phase_id': ref('project_phase_definingclientsbasicideaofproject0')
- }
- self.get_name(cr, uid, [ref('res_phase1')], field_name, arg, context=None)
+
-
Resource2
-
@@ -62,7 +54,7 @@
phase_id: project_phase_definingclientsbasicideaofproject0
-
- I create the phase task 'Develop GUI for Server Configuration'.
+ Create the phase task 'Develop GUI for Server Configuration'
-
!record {model: project.task, id: project_task_t0}:
name: Develop GUI for Server Configuration
@@ -72,7 +64,7 @@
project_id: project_project_worldbanksproject0
-
- I create the phase task 'Develop GUI for Modules Configuration'.
+ Create the phase task 'Develop GUI for Modules Configuration'
-
!record {model: project.task, id: project_task_t1}:
name: Develop GUI for Modules Configuration
@@ -83,7 +75,7 @@
project_id: project_project_worldbanksproject0
-
- I create project phase 'Preparation of Engineering Designs'.
+ Create project phase 'Preparation of Engineering Designs'
-
!record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
date_start: !eval time.strftime('%Y-%m-%d')
@@ -107,7 +99,7 @@
phase_id: project_phase_preparationofengineeringdesigns0
-
- I create the phase task 'Develop GUI for Client Configuration'.
+ Create the phase task 'Develop GUI for Client Configuration'
-
!record {model: project.task, id: project_task_t2}:
name: Develop GUI for Server Configuration
@@ -118,7 +110,7 @@
project_id: project_project_worldbanksproject0
-
- I create the phase task 'Develop GUI for Client Module Configuration'.
+ Create the phase task 'Develop GUI for Client Module Configuration'
-
!record {model: project.task, id: project_task_t3}:
name: Develop GUI for Modules Configuration
@@ -130,7 +122,7 @@
-
- I create project phase 'Procurement of Works and Goods'.
+ Create project phase 'Procurement of Works and Goods'
-
!record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
date_start: !eval time.strftime('%Y-%m-%d')
@@ -140,7 +132,7 @@
project_id: project_project_worldbanksproject0
-
- I create project phase 'Project Construction'.
+ Create project phase 'Project Construction'
-
!record {model: project.phase, id: project_phase_projectconstruction0}:
date_start: !eval time.strftime('%Y-%m-%d')
@@ -151,7 +143,7 @@
-
- I create project phase 'Project Completion'.
+ Create project phase 'Project Completion'
-
!record {model: project.phase, id: project_phase_projectcompletion0}:
date_start: !eval time.strftime('%Y-%m-%d')
@@ -161,7 +153,7 @@
project_id: project_project_worldbanksproject0
-
- I set previous phase for phase 'Establishing Project Feasibility'.
+ Set previous phase for phase 'Establishing Project Feasibility'
-
!record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
previous_phase_ids:
@@ -169,21 +161,21 @@
-
- I set previous phase for phase 'Preparation of Engineering Designs'.
+ Set previous phase for phase 'Preparation of Engineering Designs'
-
!record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
previous_phase_ids:
- project_phase_establishingprojectfeasibility0
-
- I set previous phase for phase 'Procurement of Works and Goods'.
+ Set previous phase for phase 'Procurement of Works and Goods'
-
!record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
previous_phase_ids:
- project_phase_preparationofengineeringdesigns0
-
- I set previous phase for phase 'Project Construction'.
+ Set previous phase for phase 'Project Construction'
-
!record {model: project.phase, id: project_phase_projectconstruction0}:
previous_phase_ids:
@@ -191,7 +183,7 @@
-
- I set previous phase for phase 'Project Completion'.
+ Set previous phase for phase 'Project Completion'
-
!record {model: project.phase, id: project_phase_projectcompletion0}:
previous_phase_ids:
@@ -199,7 +191,7 @@
-
- I get the project to schedule phases.
+ Get the project to schedule phases
-
!record {model: project.compute.phases, id: project_compute_phases_0}:
project_id: project_project_worldbanksproject0
@@ -207,16 +199,18 @@
-
- I schedule project phases.
+ Schedule project phases
-
!python {model: project.project}: |
self.schedule_phases(cr, uid, ref("project_project_worldbanksproject0"))
-
- I check if phases scheduled, check that either of phase's start_date, end_date and user_id is not null.
+ 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 phase in prj.phase_ids:
if (not phase.responsible_id) or (not phase.date_start) or (not phase.date_end):
raise AssertionError("Tasks not scheduled")
+
+
diff --git a/addons/project_long_term/test/schedule_project_tasks.yml b/addons/project_long_term/test/schedule_project_tasks.yml
index e10fde534f8..825b7c404d9 100644
--- a/addons/project_long_term/test/schedule_project_tasks.yml
+++ b/addons/project_long_term/test/schedule_project_tasks.yml
@@ -1,6 +1,6 @@
--
- I create project 'Develop a thunderbird-openerp synchronization plugin'.
--
+-
+ Create project 'Develop a thunderbird-openerp synchronization plugin'
+-
!record {model: project.project, id: project_project_project1}:
name: Develop a thunderbird-openerp synchronization plugin
members:
@@ -11,10 +11,10 @@
- project.res_users_tester
- project.res_users_analyst
- project.res_users_finacial_manager
-
--
- I create phase 'Develop GUI' in thunderbird.
--
+
+-
+ Create phase 'Develop GUI' in thunderbird
+-
!record {model: project.phase, id: project_phase_phase1}:
date_start: !eval time.strftime('%Y-%m-%d')
duration: 200.0
@@ -29,11 +29,11 @@
useability: 30.0
- resource_id: project_long_term.resource_designer
useability: 30.0
-
-
--
- I create the phase task 'Develop GUI for Server Configuration'.
--
+
+
+-
+ Create the phase task 'Develop GUI for Server Configuration'
+-
!record {model: project.task, id: project_task_t10}:
name: Develop GUI for Server Configuration
planned_hours: 20.0
@@ -42,10 +42,10 @@
phase_id: project_phase_phase1
project_id: project_project_project1
user_id: project.res_users_developer
-
--
- I create the phase task 'Develop GUI for Modules Configuration'.
--
+
+-
+ Create the phase task 'Develop GUI for Modules Configuration'
+-
!record {model: project.task, id: project_task_t11}:
name: Develop GUI for Modules Configuration
planned_hours: 25.0
@@ -54,9 +54,9 @@
phase_id: project_phase_phase1
project_id: project_project_project1
user_id: project.res_users_developer
--
- I create the phase task 'Develop GUI for OpenERP Synchronisation'.
--
+-
+ Create the phase task 'Develop GUI for OpenERP Synchronisation'
+-
!record {model: project.task, id: project_task_t12}:
name: Develop GUI for OpenERP Synchronisation
planned_hours: 30.0
@@ -65,9 +65,9 @@
phase_id: project_phase_phase1
project_id: project_project_project1
user_id: project.res_users_developer
--
- I create the phase task 'Design required GUI/Menus'.
--
+-
+ Create the phase task 'Design required GUI/Menus'
+-
!record {model: project.task, id: project_task_13}:
name: Design required GUI/Menus
planned_hours: 25.0
@@ -76,16 +76,16 @@
phase_id: project_phase_phase1
project_id: project_project_project1
user_id: project.res_users_designer
-
-
--
- I schedule tasks.
--
+
+
+-
+ Schedule tasks
+-
!python {model: project.project}: |
self.schedule_tasks(cr, uid, ref("project_project_project1"))
-
- I check if tasks scheduled, check that either of task's start_date, end_date and user_id is not null.
+ 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]
diff --git a/addons/project_long_term/test/test_schedule_phases_case1.yml b/addons/project_long_term/test/test_schedule_phases_case1.yml
index cd80318af24..ba091a29916 100644
--- a/addons/project_long_term/test/test_schedule_phases_case1.yml
+++ b/addons/project_long_term/test/test_schedule_phases_case1.yml
@@ -3,7 +3,7 @@
test it with two different dates for scheduling.
-
I create a project Development and Testing.
--
+-
!record {model: project.project, id: project_project_project_case1}:
name: "Development and Testing"
date_start: !eval time.strftime('%Y-%m-%d')
@@ -25,18 +25,18 @@
- project.project_tt_development
- project.project_tt_testing
- project.project_tt_merge
--
+-
I create first phase of the project.
--
+-
!record {model: project.phase, id: project_phase_firstphase0_case1}:
duration: 2.0
name: First Phase
product_uom: product.uom_day
project_id: project_project_project_case1
state: draft
--
+-
I create second phase of the project.
--
+-
!record {model: project.phase, id: project_phase_secondphase0_case2}:
duration: 3.0
name: Second Phase
@@ -62,7 +62,6 @@
!python {model: project.phase}: |
import datetime
from dateutil.relativedelta import *
- self.copy(cr, uid, ref('project_phase_firstphase0_case1'), default={}, context=None)
start = (datetime.date.today()).strftime('%Y-%m-%d')
end = (datetime.date.today() + relativedelta(days=2)).strftime('%Y-%m-%d')
first_phase = self.browse(cr, uid, ref('project_phase_firstphase0_case1'))
diff --git a/addons/project_long_term/test/test_schedule_phases_case2.yml b/addons/project_long_term/test/test_schedule_phases_case2.yml
index c438607ea56..67a7332cf5b 100644
--- a/addons/project_long_term/test/test_schedule_phases_case2.yml
+++ b/addons/project_long_term/test/test_schedule_phases_case2.yml
@@ -1,9 +1,9 @@
-
- In order to test scheduling of project phases, I create two different
+ In order to test scheduling of project phases, I create two different
working periods and resources. And schedule the phases.
--
+-
I create first working period 'Working Time A'.
--
+-
!record {model: resource.calendar, id: resource_calendar_workingtimea0}:
attendance_ids:
- dayofweek: '0'
@@ -24,45 +24,45 @@
name: Thursday
name: Working Time A
--
- I create a resource.calendar.attendance record.
--
+-
+ Creating a resource.calendar.attendance record
+-
!record {model: resource.calendar.attendance, id: resource_calendar_attendance_monday0}:
calendar_id: resource_calendar_workingtimea0
dayofweek: '0'
hour_from: 10.0
hour_to: 16.0
name: Monday
--
- I create a resource.calendar.attendance record.
--
+-
+ Creating a resource.calendar.attendance record
+-
!record {model: resource.calendar.attendance, id: resource_calendar_attendance_tuesday0}:
calendar_id: resource_calendar_workingtimea0
dayofweek: '1'
hour_from: 10.0
hour_to: 16.0
name: Tuesday
--
- I create a resource.calendar.attendance record.
--
+-
+ Creating a resource.calendar.attendance record
+-
!record {model: resource.calendar.attendance, id: resource_calendar_attendance_wednesday0}:
calendar_id: resource_calendar_workingtimea0
dayofweek: '2'
hour_from: 10.0
hour_to: 16.0
name: Wednesday
--
- I create a resource.calendar.attendance record.
--
+-
+ Creating a resource.calendar.attendance record
+-
!record {model: resource.calendar.attendance, id: resource_calendar_attendance_thursday0}:
calendar_id: resource_calendar_workingtimea0
dayofweek: '3'
hour_from: 10.0
hour_to: 16.0
name: Thursday
--
+-
I create second working period 'Working Time B'.
--
+-
!record {model: resource.calendar, id: resource_calendar_workingtimeb0}:
attendance_ids:
- dayofweek: '4'
@@ -70,35 +70,35 @@
hour_to: 18.0
name: Friday
name: Working Time B
--
- I create a resource.calendar.attendance record.
--
+-
+ Creating a resource.calendar.attendance record
+-
!record {model: resource.calendar.attendance, id: resource_calendar_attendance_friday0}:
calendar_id: resource_calendar_workingtimeb0
dayofweek: '4'
hour_from: 9.0
hour_to: 18.0
name: Friday
--
+-
I create first resource say 'Resource X' without assigning working period.
--
+-
!record {model: resource.resource, id: resource_resource_resourcex0}:
name: Resource X
resource_type: user
time_efficiency: 1.0
user_id: base.user_admin
--
+-
I create first resource say 'Resource Y' with working period 'Working Time B'.
--
+-
!record {model: resource.resource, id: resource_resource_resourcey0}:
calendar_id: resource_calendar_workingtimeb0
name: Resource Y
resource_type: user
time_efficiency: 1.0
user_id: base.user_admin
--
+-
I create a project 'Development and Testing' and assign working period 'Working Time A'.
--
+-
!record {model: project.project, id: project_project_project0}:
balance: 0.0
credit: 0.0
@@ -142,10 +142,10 @@
- project.project_tt_development
- project.project_tt_testing
- project.project_tt_merge
-
--
+
+-
I create a phase 'Initial Phase' for project 'Development and Testing'.
--
+-
!record {model: project.phase, id: project_phase_phase0}:
date_start: '2011-01-03'
duration: 0.0
@@ -153,9 +153,9 @@
product_uom: product.uom_day
project_id: project_project_project0
state: draft
--
+-
I create first task 'Developing module' and assign 10h.
--
+-
!record {model: project.task, id: project_task_task0}:
delay_hours: 0.0
effective_hours: 0.0
@@ -166,9 +166,9 @@
state: draft
total_hours: 10.0
phase_id: project_phase_phase0
--
+-
I create first task 'Testing module' and assign 10h.
--
+-
!record {model: project.task, id: project_task_task1}:
delay_hours: 0.0
effective_hours: 0.0
@@ -190,3 +190,4 @@
-
!python {model: project.compute.phases}: |
self.check_selection(cr, uid, [ref("project_compute_phases0")])
+
diff --git a/addons/project_long_term/test/test_schedule_tasks_case1.yml b/addons/project_long_term/test/test_schedule_tasks_case1.yml
index f5dd246b56b..d40b61d6b3a 100644
--- a/addons/project_long_term/test/test_schedule_tasks_case1.yml
+++ b/addons/project_long_term/test/test_schedule_tasks_case1.yml
@@ -1,8 +1,8 @@
-
In order to test scheduling of tasks, I create four tasks with different sequences and schedule them.
--
+-
I create first user.
--
+-
!record {model: res.users, id: res_users_user0}:
company_id: base.main_company
context_lang: en_US
@@ -12,9 +12,9 @@
login: user1
name: User 1
password: user1
--
+-
I create second user.
--
+-
!record {model: res.users, id: res_users_user1}:
company_id: base.main_company
context_lang: en_US
@@ -23,10 +23,10 @@
- base.group_user
login: user2
name: User 2
- password: user2
--
+ password: user2
+-
I create a Project.
--
+-
!record {model: project.project, id: project_project_projecta0}:
balance: 0.0
credit: 0.0
@@ -113,9 +113,9 @@
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
@@ -126,9 +126,9 @@
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
@@ -139,9 +139,9 @@
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
@@ -154,7 +154,7 @@
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
@@ -164,25 +164,25 @@
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