[ADD] workflows: more tests.

bzr revid: vmt@openerp.com-20130725104327-l7onjhipi6fdnrj6
This commit is contained in:
Vo Minh Thu
2013-07-25 12:43:27 +02:00
parent ae01b6ab21
commit 64ddf5f264
3 changed files with 100 additions and 0 deletions
@@ -164,5 +164,70 @@
<field name="kind">stopall</field>
<field name="action">write({'value': 1})</field>
</record>
<!-- Workflow E:
a -True-> b
Both activities are run when the workflow is instanciated.
-->
<record id="test_workflow_e" model="workflow">
<field name="name">test.workflow.e</field>
<field name="osv">test.workflow.model.e</field>
<field name="on_create">True</field>
</record>
<record id="activity_e_a" model="workflow.activity">
<field name="wkf_id" ref="test_workflow_e"/>
<field name="flow_start">True</field>
<field name="name">a</field>
<field name="kind">function</field>
<field name="action">write({'value': 1})</field>
</record>
<record id="activity_e_b" model="workflow.activity">
<field name="wkf_id" ref="test_workflow_e"/>
<field name="flow_stop">True</field>
<field name="name">b</field>
<field name="kind">function</field>
<field name="action">write({'value': 2})</field>
</record>
<record id="trans_e_a_b" model="workflow.transition">
<field name="act_from" ref="activity_e_a"/>
<field name="act_to" ref="activity_e_b"/>
</record>
<!-- Workflow F:
a -signal-> b
Same as E but with a signal on the transition.
-->
<record id="test_workflow_f" model="workflow">
<field name="name">test.workflow.f</field>
<field name="osv">test.workflow.model.f</field>
<field name="on_create">True</field>
</record>
<record id="activity_f_a" model="workflow.activity">
<field name="wkf_id" ref="test_workflow_f"/>
<field name="flow_start">True</field>
<field name="name">a</field>
<field name="kind">function</field>
<field name="action">write({'value': 1})</field>
</record>
<record id="activity_f_b" model="workflow.activity">
<field name="wkf_id" ref="test_workflow_f"/>
<field name="flow_stop">True</field>
<field name="name">b</field>
<field name="kind">function</field>
<field name="action">write({'value': 2})</field>
</record>
<record id="trans_f_a_b" model="workflow.transition">
<field name="act_from" ref="activity_f_a"/>
<field name="act_to" ref="activity_f_b"/>
<field name="signal">a-b</field>
</record>
</data>
</openerp>
@@ -51,4 +51,17 @@ class d(openerp.osv.orm.Model):
_name = 'test.workflow.model.d'
_inherit = 'test.workflow.model.a'
class e(openerp.osv.orm.Model):
_name = 'test.workflow.model.e'
_inherit = 'test.workflow.model.a'
for name in 'bcdef':
type(
name,
(openerp.osv.orm.Model,),
{
'_name': 'test.workflow.model.%s' % name,
'_inherit': 'test.workflow.model.a',
})
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -103,3 +103,25 @@ class test_workflows(common.TransactionCase):
self.check_value(model._name, i, 1)
model.unlink(self.cr, SUPERUSER_ID, [i])
def test_workflow_e(self):
model = self.registry('test.workflow.model.e')
i = model.create(self.cr, SUPERUSER_ID, {})
self.check_activities(model._name, i, ['b'])
self.check_value(model._name, i, 2)
model.unlink(self.cr, SUPERUSER_ID, [i])
def test_workflow_f(self):
model = self.registry('test.workflow.model.f')
i = model.create(self.cr, SUPERUSER_ID, {})
self.check_activities(model._name, i, ['a'])
self.check_value(model._name, i, 1)
model.signal_workflow(self.cr, SUPERUSER_ID, [i], 'a-b')
self.check_activities(model._name, i, ['b'])
self.check_value(model._name, i, 2)
model.unlink(self.cr, SUPERUSER_ID, [i])