[IMP] test_new_api, test_inherit: improve code of tests

This commit is contained in:
Raphael Collet 2014-10-16 12:32:23 +02:00
parent 99c44334f1
commit 83b8e413ff
2 changed files with 27 additions and 11 deletions

View File

@ -10,10 +10,10 @@ class test_inherits(common.TransactionCase):
# to verify the purpose of the inheritance computing of the class
# in the openerp.osv.orm._build_model.
mother = self.env['test.inherit.mother']
daugther = self.env['test.inherit.daughter']
daughter = self.env['test.inherit.daughter']
self.assertIn('field_in_mother', mother._fields)
self.assertIn('field_in_mother', daugther._fields)
self.assertIn('field_in_mother', daughter._fields)
def test_field_extension(self):
""" check the extension of a field in an inherited model """
@ -27,10 +27,10 @@ class test_inherits(common.TransactionCase):
self.assertEqual(mother.default_get(['name']), {'name': "Bar"})
self.assertEqual(mother._defaults.get('name'), "Bar")
# the field daugther.template_id should inherit
# the field daughter.template_id should inherit
# model_name='test.inherit.mother', string='Template', required=True
daugther = self.env['test.inherit.daughter']
field = daugther._fields['template_id']
daughter = self.env['test.inherit.daughter']
field = daughter._fields['template_id']
self.assertEqual(field.comodel_name, 'test.inherit.mother')
self.assertEqual(field.string, "Template")
self.assertTrue(field.required)

View File

@ -31,6 +31,7 @@ class TestOnChange(common.TransactionCase):
self.assertEqual(field_onchange.get('body'), '1')
self.assertEqual(field_onchange.get('discussion'), '1')
# changing 'discussion' should recompute 'name'
values = {
'discussion': discussion.id,
'name': "[%s] %s" % ('', USER.name),
@ -40,9 +41,10 @@ class TestOnChange(common.TransactionCase):
}
self.env.invalidate_all()
result = self.Message.onchange(values, 'discussion', field_onchange)
self.assertLessEqual(set(['name']), set(result['value']))
self.assertIn('name', result['value'])
self.assertEqual(result['value']['name'], "[%s] %s" % (discussion.name, USER.name))
# changing 'body' should recompute 'size'
values = {
'discussion': discussion.id,
'name': "[%s] %s" % (discussion.name, USER.name),
@ -52,9 +54,22 @@ class TestOnChange(common.TransactionCase):
}
self.env.invalidate_all()
result = self.Message.onchange(values, 'body', field_onchange)
self.assertLessEqual(set(['size']), set(result['value']))
self.assertIn('size', result['value'])
self.assertEqual(result['value']['size'], len(BODY))
# changing 'body' should not recompute 'name', even if 'discussion' and
# 'name' are not consistent with each other
values = {
'discussion': discussion.id,
'name': False,
'body': BODY,
'author': USER.id,
'size': 0,
}
self.env.invalidate_all()
result = self.Message.onchange(values, 'body', field_onchange)
self.assertNotIn('name', result['value'])
def test_onchange_one2many(self):
""" test the effect of onchange() on one2many fields """
BODY = "What a beautiful day!"
@ -87,7 +102,7 @@ class TestOnChange(common.TransactionCase):
# }
# self.env.invalidate_all()
# result = self.Discussion.onchange(values, 'messages', field_onchange)
# self.assertLessEqual(set(['messages']), set(result['value']))
# self.assertIn('messages', result['value'])
# self.assertItemsEqual(result['value']['messages'], [
# (0, 0, {
# 'name': "[%s] %s" % ("Foo", USER.name),
@ -121,7 +136,7 @@ class TestOnChange(common.TransactionCase):
}
self.env.invalidate_all()
result = self.Discussion.onchange(values, 'name', field_onchange)
self.assertLessEqual(set(['messages']), set(result['value']))
self.assertIn('messages', result['value'])
self.assertItemsEqual(result['value']['messages'], [
(0, 0, {
'name': "[%s] %s" % ("Foo", USER.name),
@ -161,7 +176,7 @@ class TestOnChange(common.TransactionCase):
self.env.invalidate_all()
result = discussion.onchange(values, 'moderator', field_onchange)
self.assertLessEqual(set(['participants']), set(result['value']))
self.assertIn('participants', result['value'])
self.assertItemsEqual(result['value']['participants'], participants + [(4, demo.id)])
def test_onchange_one2many_value(self):
@ -184,4 +199,5 @@ class TestOnChange(common.TransactionCase):
'message_changes': 0,
}
result = discussion.onchange(values, 'messages', field_onchange)
self.assertEqual(result['value'].get('message_changes', 0), len(discussion.messages))
self.assertIn('message_changes', result['value'])
self.assertEqual(result['value']['message_changes'], len(discussion.messages))