odoo/openerp/addons/base/tests/test_ir_model.py

45 lines
1.5 KiB
Python

import unittest2
import openerp.tests.common as common
class test_ir_model(common.TransactionCase):
def test_00(self):
# Create some custom model and fields
cr, uid, context = self.cr, self.uid, {}
ir_model = self.registry('ir.model')
ir_model_fields = self.registry('ir.model.fields')
ir_model_access = self.registry('ir.model.access')
candy_model_id = ir_model.create(cr, uid, {
'name': 'Candies',
'model': 'x_candy',
'info': 'List of candies',
'state': 'manual',
}, context=context)
# security rule to avoid warning
ir_model_access.create(cr, uid, {
'name': 'Candies are for everybody',
'model_id': candy_model_id,
'perm_read': True,
'perm_write': True,
'perm_create': True,
'perm_unlink': True,
})
assert self.registry('x_candy'), "Custom model not present in registry"
ir_model_fields.create(cr, uid, {
'name': 'x_name',
'field_description': 'Name',
'model_id': candy_model_id,
'state': 'manual',
'ttype': 'char',
}, context=context)
assert 'x_name' in self.registry('x_candy')._all_columns, "Custom field not present in registry"
assert self.registry('x_candy')._rec_name == 'x_name', "The _rec_name on custom model was not updated"
if __name__ == '__main__':
unittest2.main()