[IMP] added yml files for Project_scrum module

bzr revid: tpa@tinyerp.com-20111118064830-mg28ugws5ylrdupm
This commit is contained in:
Turkesh Patel (Open ERP)
2011-11-18 12:18:30 +05:30
parent 5ac3795cee
commit 8acda908e9
8 changed files with 173 additions and 6 deletions
+6 -1
View File
@@ -65,7 +65,12 @@ More information on the methodology:
"board_project_scrum_view.xml",
],
'demo_xml': ['project_scrum_demo.xml'],
'test': ['test/project_scrum_report.yml'],
'test': ['test/project_scrum_report.yml',
'test/draft2open2close_sprint.yml',
'test/draft2open2close_backlog.yml',
'test/cancel_backlog.yml',
'test/project_scrum_test.yml'
],
'installable': True,
'active': False,
'certificate' : '00736750152003010781',
+4 -2
View File
@@ -262,7 +262,7 @@ class project_scrum_task(osv.osv):
'project.scrum.product.backlog': (_get_task, ['sprint_id'], 10)
}),
}
#dead code
def onchange_backlog_id(self, cr, uid, backlog_id=False):
if not backlog_id:
return {}
@@ -292,7 +292,7 @@ class project_scrum_meeting(osv.osv):
_defaults = {
'date' : lambda *a: time.strftime('%Y-%m-%d'),
}
# dead code
def button_send_to_master(self, cr, uid, ids, context=None):
meeting_id = self.browse(cr, uid, ids, context=context)[0]
if meeting_id and meeting_id.sprint_id.scrum_master_id.user_email:
@@ -303,6 +303,7 @@ class project_scrum_meeting(osv.osv):
raise osv.except_osv(_('Error !'), _('Please provide email address for scrum master defined on sprint.'))
return True
#dead code
def button_send_product_owner(self, cr, uid, ids, context=None):
if context is None:
context = {}
@@ -316,6 +317,7 @@ class project_scrum_meeting(osv.osv):
raise osv.except_osv(_('Error !'), _('Please provide email address for product owner defined on sprint.'))
return True
#dead code
def email_send(self, cr, uid, ids, email, context=None):
mail_message_obj = self.pool.get('mail.message')
meeting_id = self.browse(cr, uid, ids, context=context)[0]
+3 -1
View File
@@ -10,7 +10,6 @@
<field name="project_id" ref="project.project_project_9"/>
<field name="product_owner_id" ref="base.user_root"/>
<field model="res.users" name="scrum_master_id" search="[('login','=','admin')]"/>
<field name="state">open</field>
</record>
<record id="scrum_sprint_1" model="project.scrum.sprint">
@@ -387,6 +386,9 @@
<field name="state">open</field>
<field name="product_backlog_id" ref="scrum_product_backlog_7"/>
</record>
<!-- Resource: project_scrum.meeting -->
<record id="scrum_meeting_0" model="project.scrum.meeting">
<field name="question_yesterday">
Admin: Worked on the Automatic migration system
+2 -2
View File
@@ -263,6 +263,8 @@
<group colspan="4" col="6">
<field name="date"/>
<field name="user_id"/>
<button name="%(mail.action_email_compose_message_wizard)d"
string="Send Email" type="action" icon="terp-mail-message-new"/>
</group>
<notebook colspan="4">
<page string="Scrum Meeting">
@@ -273,8 +275,6 @@
<separator colspan="4" string="Are there anything blocking you?"/>
<field colspan="4" name="question_blocks" nolabel="1"/>
<separator colspan="4" string=""/>
<button name="button_send_to_master" type="object" string="Send to Scrum Master" icon="gtk-ok"/>
<button name="button_send_product_owner" type="object" string="Send to Product Owner" icon="gtk-ok"/>
</page>
<page string="Optional Info">
<separator colspan="4" string="Are your Sprint Backlog estimate accurate ?"/>
@@ -0,0 +1,52 @@
-
In Order to Test process of Backlog cancellation,
-
I cancel Backlog "Automatic migration system" from draft state.
-
!python {model: project.scrum.product.backlog}: |
self.button_cancel(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after canceled.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: backlog should be in cancel state}:
- state == "cancel"
-
I cancel Backlog "Editable Trees" from open state.
-
!python {model: project.scrum.product.backlog}: |
self.button_cancel(cr, uid, [ref("scrum_product_backlog_7")])
-
I check state of Backlog after canceled.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_7, severity: error, string: backlog should be in cancel state}:
- state == "cancel"
-
I put Backlog in pending state because of resource unavailability.
-
!python {model: project.scrum.product.backlog}: |
self.button_pending(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after put in pending.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in pending state}:
- state == "pending"
-
I cancel Backlog "Automatic migration system" from pending state.
-
!python {model: project.scrum.product.backlog}: |
self.button_cancel(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after canceled.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: backlog should be in cancel state}:
- state == "cancel"
-
I Postpone Backlog "Reshape the complete menu" from open state.
-
!python {model: project.scrum.product.backlog}: |
self.button_postpone(cr, uid, [ref("scrum_product_backlog_6")])
-
I check state of Backlog after Postpone.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_6, severity: error, string: backlog should be in cancel state}:
- state == "cancel"
@@ -0,0 +1,41 @@
-
In Order to Test process of Backlog,
-
I put Backlog in pending state because of specification is not ready.
-
!python {model: project.scrum.product.backlog}: |
self.button_pending(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after put in pending.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in pending state}:
- state == "pending"
-
Now Specification is ready so I Open backlog "Automatic migration system".
-
!python {model: project.scrum.product.backlog}: |
self.button_open(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after opened.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in open state}:
- state == "open"
-
I close Backlog after review
-
!python {model: project.scrum.product.backlog}: |
self.button_close(cr, uid, [ref("scrum_product_backlog_0")])
-
I check state of Backlog after closed.
-
!assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in close state}:
- state == "done"
-
I merge two Backlogs in to one Backlog
-
First check If only one product backlog selected and If any of the backlog state is done Then not allow merge.then do merge
-
!python {model: project.scrum.backlog.merge}: |
self.check_backlogs(cr, uid, [ref("scrum_product_backlog_1"),ref("scrum_product_backlog_2")], {"active_ids": [ref("scrum_product_backlog_1"),ref("scrum_product_backlog_2")],
"active_model": 'project.scrum.product.backlog', "active_id": ref("scrum_product_backlog_1")
})
@@ -0,0 +1,57 @@
-
In Order to Test process of Sprint,
-
I Open sprint of "Week 31"
-
!python {model: project.scrum.sprint}: |
self.button_open(cr, uid, [ref("scrum_sprint_0")])
-
I check state of sprint after opened.
-
!assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in Open state}:
- state == "open"
-
I put sprint in pending state to allocate task to resources.
-
!python {model: project.scrum.sprint}: |
self.button_pending(cr, uid, [ref("scrum_sprint_0")])
-
I check state of sprint after put in pending.
-
!assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in pending state}:
- state == "pending"
-
I assign Backlog into this Sprint
-
!python {model: project.scrum.backlog.assign.sprint}: |
new_id = self.create(cr, uid, {'sprint_id': ref("scrum_sprint_0")})
self.assign_sprint(cr, uid, [new_id], {"active_ids": [ref("scrum_product_backlog_1")],
"active_model": 'project.scrum.product.backlog', "active_id": ref("scrum_product_backlog_1")
})
-
I create tasks from backlog for sprint
-
!python {model: project.scrum.backlog.create.task}: |
new_id = self.create(cr, uid, {'user_id': ref("base.user_root")})
self.do_create(cr, uid, [new_id], {
"active_ids": [ref("scrum_product_backlog_0")], 'active_model': 'project.scrum.product.backlog', "active_id": ref("scrum_product_backlog_0")
})
-
I send email to scrum master with scrum meeting details.
-
!python {model: mail.compose.message }: |
ctx = context.copy()
ctx.update({'active_model': 'project.scrum.meeting', 'active_id': ref("scrum_meeting_0"), 'active_ids': [ref("scrum_meeting_0")]})
vals = self.default_get(cr, uid , [], context=ctx)
new_id = self.create(cr, uid, {'email_to': 'tpa@tinyerp.com', 'subject': 'test'})
self.send_mail(cr, uid, [new_id], context=ctx)
-
I close sprint after review
-
!python {model: project.scrum.sprint}: |
self.button_close(cr, uid, [ref("scrum_sprint_0")])
-
I check state after closed sprint.
-
!assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint shoud be in close state}:
- state == "done"
@@ -0,0 +1,8 @@
-
!record {model: project.scrum.sprint, id: project_scrum_sprint_test0, view: False}:
date_start: '2011-11-16'
date_stop: '2011-12-01'
name: test
product_owner_id: base.user_admin
project_id: project.project_integrate_openerp
scrum_master_id: project.res_users_project_manager