diff options
| author | Odoo's Mergebot <xmo+roboto@odoo.com> | 2019-11-07 08:37:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-07 08:37:12 +0100 |
| commit | cfc65bd1b72b6fb7833f67fa580fa9fdac28b1f5 (patch) | |
| tree | c1aa353aa7e29d0ed918911dbdce456ed957b72e /addons/base_automation/models | |
| parent | a3f5afdd53f5f0d8d76427fe14dce6f02e064a75 (diff) | |
| parent | bc8fe668495a1d080ff883d5e61e961a128669de (diff) | |
[MERGE] various: Make the test suite demo data independant
Purpose
=======
This is the first huge step to improve the test suite in several ways:
- Make them demo data independent, allowing to modify the demo data without having to adapt the tests depending on it. It also allows to have a beautiful + convenient demo dataset to make a demonstration, and to configure complex data in the tests to manage the corner cases.
- Improve the test performances by converting them into SavepointCase. Each test will be rollbacked to it's initial state, after the setUpClass call. That way the different data are not re-created at each test for nothing.
- Introduce several test classes in base/tests/common.py to launch a TransactionCase, HttpCase or SavepointCase test with an available demo user, portal user or a large set of partners.
- This is the first step to tend to a rolling release process, allowing to execute the tests (or a subset of the tests) on a migrated base, for example.
closes odoo/odoo#39868
Taskid: 2075739
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/base_automation/models')
| -rw-r--r-- | addons/base_automation/models/__init__.py | 1 | ||||
| -rw-r--r-- | addons/base_automation/models/base_automation.py | 11 | ||||
| -rw-r--r-- | addons/base_automation/models/ir_demo.py | 22 |
3 files changed, 6 insertions, 28 deletions
diff --git a/addons/base_automation/models/__init__.py b/addons/base_automation/models/__init__.py index edef98c31b6..dd3d1a0ad3c 100644 --- a/addons/base_automation/models/__init__.py +++ b/addons/base_automation/models/__init__.py @@ -3,4 +3,3 @@ from . import base_automation from . import ir_actions -from . import ir_demo diff --git a/addons/base_automation/models/base_automation.py b/addons/base_automation/models/base_automation.py index 37a6998b670..52b753481cb 100644 --- a/addons/base_automation/models/base_automation.py +++ b/addons/base_automation/models/base_automation.py @@ -94,13 +94,14 @@ class BaseAutomation(models.Model): } }} - @api.model - def create(self, vals): - vals['usage'] = 'base_automation' - base_automation = super(BaseAutomation, self).create(vals) + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + vals['usage'] = 'base_automation' + base_automations = super(BaseAutomation, self).create(vals_list) self._update_cron() self._update_registry() - return base_automation + return base_automations def write(self, vals): res = super(BaseAutomation, self).write(vals) diff --git a/addons/base_automation/models/ir_demo.py b/addons/base_automation/models/ir_demo.py deleted file mode 100644 index e951c04ba33..00000000000 --- a/addons/base_automation/models/ir_demo.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import models - - -class IrDemo(models.TransientModel): - _inherit = 'ir.demo' - - def install_demo(self): - # Prevent the registry to reload while loading demo data, since `create` calls - # `_update_registry`. - self.pool.ready = False - try: - result = super().install_demo() - finally: - self.pool.ready = True - - # Reload the registry - self.env['base.automation']._update_registry() - - return result |
