odex30_standard/odex30_base/partner_identification/tests/fake_models.py

36 lines
1.1 KiB
Python

from odoo import fields, models
def setup_test_model(env, model_cls):
"""Pass a test model class and initialize it.
Courtesy of SBidoul from https://github.com/OCA/mis-builder :)
"""
model_cls._build_model(env.registry, env.cr)
env.registry.setup_models(env.cr)
env.registry.init_models(
env.cr, [model_cls._name], dict(env.context, update_custom_fields=True)
)
def teardown_test_model(env, model_cls):
"""Pass a test model class and deinitialize it.
Courtesy of SBidoul from https://github.com/OCA/mis-builder :)
"""
if not getattr(model_cls, "_teardown_no_delete", False):
del env.registry.models[model_cls._name]
env.registry.setup_models(env.cr)
class ResPartner(models.Model):
_name = "res.partner"
_inherit = "res.partner"
_teardown_no_delete = True
social_security = fields.Char(
compute=lambda s: s._compute_identification("social_security", "SSN"),
inverse=lambda s: s._inverse_identification("social_security", "SSN"),
search=lambda s, *a: s._search_identification("SSN", *a),
)