diff options
| author | Antony Lesuisse <al@openerp.com> | 2011-09-25 11:59:48 +0200 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2011-09-25 11:59:48 +0200 |
| commit | 96b9454a32eb4ba6b0f8fb67c4ba354ea2ba9be2 (patch) | |
| tree | 32432b7ef77d8f9544590a3fea15397bbcf5d3a8 /addons/project_long_term | |
| parent | e33f8abf7ca1385ea4d002dbf7c8da3fa7d5e80e (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')
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 |
