diff options
| author | Aaron Bohy <aab@odoo.com> | 2020-06-08 11:50:24 +0000 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2020-07-13 12:55:07 +0000 |
| commit | af85bb5e13b9c97d022a721bd782a37d718e4496 (patch) | |
| tree | 731c1983542ec3fc07b3b70832659d5ad803252d /addons/web/static/src/js/common_env.js | |
| parent | ce3c7d8714c330b8344ffb76245c364045cbf62f (diff) | |
[IMP] web,*: do not deploy services in tests
*mail,point_of_sale,web_editor,website
In the tests, required services are deployed for each test
independently. There is no need to have, in additon, all services
deployed globally. Worse, it could conflict and lead to unexpected
results.
This commit ensures services are no longer deployed globally in
tests. It turns the module 'web.env' into a declarative module with
no side-effect, by moving the service deployment to main.js, which
isn't added to the tests page.
Task 2287397
closes odoo/odoo#53817
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/common_env.js')
| -rw-r--r-- | addons/web/static/src/js/common_env.js | 37 |
1 files changed, 1 insertions, 36 deletions
diff --git a/addons/web/static/src/js/common_env.js b/addons/web/static/src/js/common_env.js index 567607d50b5..792c3b966d4 100644 --- a/addons/web/static/src/js/common_env.js +++ b/addons/web/static/src/js/common_env.js @@ -19,7 +19,7 @@ odoo.define("web.commonEnv", function (require) { const { jsonRpc } = require("web.ajax"); const { device, isDebug } = require("web.config"); - const { bus, serviceRegistry } = require("web.core"); + const { bus } = require("web.core"); const rpc = require("web.rpc"); const session = require("web.session"); const { _t } = require("web.translation"); @@ -97,40 +97,5 @@ odoo.define("web.commonEnv", function (require) { session, }; - - // Deploy services in the env (specializations of AbstractService registered - // into the serviceRegistry) - const UndeployedServices = Object.assign({}, serviceRegistry.map); - function _deployServices() { - let done = false; - while (!done) { - // find a service with no missing dependency - const serviceName = Object.keys(UndeployedServices).find(serviceName => { - const Service = UndeployedServices[serviceName]; - return Service.prototype.dependencies.every(depName => { - return env.services[depName]; - }); - }); - if (serviceName) { - const Service = UndeployedServices[serviceName]; - const service = new Service(env); - env.services[serviceName] = service; - delete UndeployedServices[serviceName]; - service.start(); - } else { - done = true; - } - } - } - serviceRegistry.onAdd((serviceName, Service) => { - if (serviceName in env.services || serviceName in UndeployedServices) { - throw new Error(`Service ${serviceName} is already loaded.`); - } - UndeployedServices[serviceName] = Service; - _deployServices(); - }); - _deployServices(); - - return env; }); |
