[IMP] xml of topbars, removed oe_right, oe_clear
[odoo/odoo.git] / addons / project_scrum / test / sprint_process.yml
1 -
2   I put sprint in pending state to allocate task to resources.
3 -
4   !python {model: project.scrum.sprint}: |
5     self.button_pending(cr, uid, [ref("scrum_sprint_0")])
6 -
7   I check state of sprint after put in pending.
8 -
9   !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in pending state}:
10        - state == "pending"
11 -
12   I assign Backlog into this Sprint
13 -
14   !python {model: project.scrum.backlog.assign.sprint}: |
15     new_id = self.create(cr, uid, {'sprint_id': ref("scrum_sprint_0")})
16     self.assign_sprint(cr, uid, [new_id], {"active_ids": [ref("scrum_product_backlog_0")]
17     })
18     backlog_obj = self.pool.get('project.scrum.product.backlog')
19     task_obj = self.pool.get('project.task')
20
21     backlog_data = backlog_obj.browse(cr, uid, ref("scrum_product_backlog_0"), context)
22     assert backlog_data.sprint_id.id == ref("scrum_sprint_0"), 'Sprint is not assigned'
23 -
24   I Open sprint of "Week 31"
25 -
26   !python {model: project.scrum.sprint}: |
27     self.button_open(cr, uid, [ref("scrum_sprint_0")])
28 -
29   I check state of sprint after opened.
30 -
31   !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in Open state}:
32        - state == "open"
33 -
34   I create tasks from backlog "Automatic migration system" for sprint
35 -
36   !python {model: project.scrum.backlog.create.task}: |
37     new_id = self.create(cr, uid, {'user_id': ref("base.user_al")})
38     task_obj = self.pool.get('project.task')
39     backlog_obj = self.pool.get('project.scrum.product.backlog')
40
41     new_task = self.do_create(cr, uid, [new_id], {"active_ids": [ref("scrum_product_backlog_0")]})
42     backlog_data = backlog_obj.browse(cr, uid, ref("scrum_product_backlog_0"), context)
43     task_ids = task_obj.search(cr, uid, [('product_backlog_id','=', backlog_data.id)])
44     assert len(task_ids), "Task not created"
45     task = task_obj.browse(cr, uid, task_ids[0], context)
46
47     assert task.name == backlog_data.name and task.total_hours == backlog_data.expected_hours and  task.user_id and task.user_id.id == ref("base.user_al"), 'Task not has been created'
48 -
49   I send email to scrum master with scrum meeting details.
50 -
51   !python {model: mail.compose.message }: |
52     ctx = context.copy()
53     ctx.update({'active_model': 'project.scrum.meeting', 'active_id': ref("scrum_meeting_0"), 'active_ids': [ref("scrum_meeting_0")]})
54     vals = self.default_get(cr, uid , [], context=ctx)
55     try:
56         new_id = self.create(cr, uid, {'email_from': 'test@openerp.com', 'email_to': 'xyz@mycompany.com', 'subject': 'test'})
57         self.send_mail(cr, uid, [new_id], context=ctx)
58     except Exception, e:
59         pass
60 -
61   I close sprint after review
62 -
63   !python {model: project.scrum.sprint}: |
64     self.button_close(cr, uid, [ref("scrum_sprint_0")])
65 -
66   I check state after closed sprint.
67 -
68   !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint shoud be  in close state}:
69        - state == "done"
70 -
71   I print Burndown chart of Sprint.
72
73   !python {model: project.scrum.sprint}: |
74     import netsvc, tools, os
75     data_dict = {'model': 'project.scrum.sprint', 'id':ref('scrum_sprint_0')}
76     (data, format) = netsvc.LocalService('report.scrum.sprint.burndown').create(cr, uid, [ref('scrum_sprint_0')], data_dict, {})
77     if tools.config['test_report_directory']:
78         file(os.path.join(tools.config['test_report_directory'], 'project_scrum-project_scrum_sprint_burndown.'+format), 'wb+').write(data)