summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/helpers/test_utils.js
diff options
context:
space:
mode:
authorJulien Mougenot <jum@odoo.com>2020-02-25 12:52:41 +0000
committerJulien Mougenot <jum@odoo.com>2020-03-13 09:37:29 +0000
commit384e516218375000461aa3fcb0ac1b9eaa960fb3 (patch)
tree89d6faece5edea9a4f182b7a6d2e83cbb6f540ce /addons/web/static/tests/helpers/test_utils.js
parent11ba58a311311b798a68183df18673e562bb97d3 (diff)
[REF] web: Update generic files
General cleaning of some helpers and generic files. The idea is that they are less likely to be entirely re-written in the near future so this is a way to keep the code clean, readable and compliant to the current standards. Changes include: - Use of async/await when possible - Use of const/let instead of var - Removal of underscore.js - Use of native JS instead of jQuery when possible The logic of the affected code remains the same.
Diffstat (limited to 'addons/web/static/tests/helpers/test_utils.js')
-rw-r--r--addons/web/static/tests/helpers/test_utils.js254
1 files changed, 126 insertions, 128 deletions
diff --git a/addons/web/static/tests/helpers/test_utils.js b/addons/web/static/tests/helpers/test_utils.js
index f2b12eaf705..2ff77de4e49 100644
--- a/addons/web/static/tests/helpers/test_utils.js
+++ b/addons/web/static/tests/helpers/test_utils.js
@@ -1,4 +1,4 @@
-odoo.define('web.test_utils', function (require) {
+odoo.define('web.test_utils', async function (require) {
"use strict";
/**
@@ -10,26 +10,25 @@ odoo.define('web.test_utils', function (require) {
* instance of a view, appended in the dom, ready to be tested.
*/
- var ajax = require('web.ajax');
- var concurrency = require('web.concurrency');
- var core = require('web.core');
- var relationalFields = require('web.relational_fields');
- var session = require('web.session');
- var testUtilsCreate = require('web.test_utils_create');
- var testUtilsDom = require('web.test_utils_dom');
- var testUtilsFields = require('web.test_utils_fields');
- var testUtilsFile = require('web.test_utils_file');
- var testUtilsForm = require('web.test_utils_form');
- var testUtilsGraph = require('web.test_utils_graph');
- var testUtilsKanban = require('web.test_utils_kanban');
- var testUtilsMock = require('web.test_utils_mock');
- var testUtilsModal = require('web.test_utils_modal');
- var testUtilsPivot = require('web.test_utils_pivot');
- var tools = require('web.tools');
+ const ajax = require('web.ajax');
+ const core = require('web.core');
+ const relationalFields = require('web.relational_fields');
+ const session = require('web.session');
+ const testUtilsCreate = require('web.test_utils_create');
+ const testUtilsDom = require('web.test_utils_dom');
+ const testUtilsFields = require('web.test_utils_fields');
+ const testUtilsFile = require('web.test_utils_file');
+ const testUtilsForm = require('web.test_utils_form');
+ const testUtilsGraph = require('web.test_utils_graph');
+ const testUtilsKanban = require('web.test_utils_kanban');
+ const testUtilsMock = require('web.test_utils_mock');
+ const testUtilsModal = require('web.test_utils_modal');
+ const testUtilsPivot = require('web.test_utils_pivot');
+ const tools = require('web.tools');
function deprecated(fn, type) {
- var msg = `Helper 'testUtils.${fn.name}' is deprecated. ` +
+ const msg = `Helper 'testUtils.${fn.name}' is deprecated. ` +
`Please use 'testUtils.${type}.${fn.name}' instead.`;
return tools.deprecated(fn, msg);
}
@@ -41,9 +40,9 @@ odoo.define('web.test_utils', function (require) {
* @returns {Promise + resolve and reject function}
*/
function makeTestPromise() {
- var resolve;
- var reject;
- var promise = new Promise(function (_resolve, _reject) {
+ let resolve;
+ let reject;
+ const promise = new Promise(function (_resolve, _reject) {
resolve = _resolve;
reject = _reject;
});
@@ -69,7 +68,7 @@ odoo.define('web.test_utils', function (require) {
* @returns {Promise + resolve and reject function}
*/
function makeTestPromiseWithAssert(assert, str) {
- var prom = makeTestPromise();
+ const prom = makeTestPromise();
prom.then(() => assert.step('ok ' + str)).catch(function () { });
prom.catch(() => assert.step('ko ' + str));
return prom;
@@ -102,118 +101,117 @@ odoo.define('web.test_utils', function (require) {
// before starting the qunit test suite.
// (session.js is in charge of loading the static xml bundle and we also have
// to load xml files that are normally lazy loaded by specific widgets).
- return Promise.all([
+ await Promise.all([
session.is_bound,
ajax.loadXML('/web/static/src/xml/debug.xml', core.qweb),
ajax.loadXML('/web/static/src/xml/dialog.xml', core.qweb),
ajax.loadXML('/web/static/src/xml/translation_dialog.xml', core.qweb),
- ]).then(function () {
- setTimeout(function () {
- // jquery autocomplete refines the search in a setTimeout() parameterized
- // with a delay, so we force this delay to 0 s.t. the dropdown is filtered
- // directly on the next tick
- relationalFields.FieldMany2One.prototype.AUTOCOMPLETE_DELAY = 0;
+ ]);
+ setTimeout(function () {
+ // jquery autocomplete refines the search in a setTimeout() parameterized
+ // with a delay, so we force this delay to 0 s.t. the dropdown is filtered
+ // directly on the next tick
+ relationalFields.FieldMany2One.prototype.AUTOCOMPLETE_DELAY = 0;
- // this is done with the hope that tests are
- // only started all together...
- QUnit.start();
- }, 0);
- return {
- mock: {
- addMockEnvironment: testUtilsMock.addMockEnvironment,
- getMockedOwlEnv: testUtilsMock.getMockedOwlEnv,
- intercept: testUtilsMock.intercept,
- patch: testUtilsMock.patch,
- patchDate: testUtilsMock.patchDate,
- unpatch: testUtilsMock.unpatch,
- fieldsViewGet: testUtilsMock.fieldsViewGet,
- patchSetTimeout: testUtilsMock.patchSetTimeout,
- },
- dom: {
- triggerKeypressEvent: testUtilsDom.triggerKeypressEvent,
- triggerMouseEvent: testUtilsDom.triggerMouseEvent,
- triggerPositionalMouseEvent: testUtilsDom.triggerPositionalMouseEvent,
- dragAndDrop: testUtilsDom.dragAndDrop,
- openDatepicker: testUtilsDom.openDatepicker,
- click: testUtilsDom.click,
- clickFirst: testUtilsDom.clickFirst,
- clickLast: testUtilsDom.clickLast,
- triggerEvents: testUtilsDom.triggerEvents,
- triggerEvent: testUtilsDom.triggerEvent,
- },
- form: {
- clickEdit: testUtilsForm.clickEdit,
- clickSave: testUtilsForm.clickSave,
- clickCreate: testUtilsForm.clickCreate,
- clickDiscard: testUtilsForm.clickDiscard,
- reload: testUtilsForm.reload,
- },
- graph: {
- reload: testUtilsGraph.reload,
- },
- kanban: {
- reload: testUtilsKanban.reload,
- clickCreate: testUtilsKanban.clickCreate,
- quickCreate: testUtilsKanban.quickCreate,
- toggleGroupSettings: testUtilsKanban.toggleGroupSettings,
- toggleRecordDropdown: testUtilsKanban.toggleRecordDropdown,
- },
- modal: {
- clickButton: testUtilsModal.clickButton,
- },
- pivot: {
- clickMeasure: testUtilsPivot.clickMeasure,
- toggleMeasuresDropdown: testUtilsPivot.toggleMeasuresDropdown,
- reload: testUtilsPivot.reload,
- },
- fields: {
- many2one: {
- clickOpenDropdown: testUtilsFields.clickOpenM2ODropdown,
- clickHighlightedItem: testUtilsFields.clickM2OHighlightedItem,
- clickItem: testUtilsFields.clickM2OItem,
- searchAndClickItem: testUtilsFields.searchAndClickM2OItem,
- },
- editInput: testUtilsFields.editInput,
- editSelect: testUtilsFields.editSelect,
- editAndTrigger: testUtilsFields.editAndTrigger,
- triggerKey: testUtilsFields.triggerKey,
- triggerKeydown: testUtilsFields.triggerKeydown,
- triggerKeyup: testUtilsFields.triggerKeyup,
- },
- file: {
- createFile: testUtilsFile.createFile,
- dragoverFile: testUtilsFile.dragoverFile,
- dropFile: testUtilsFile.dropFile,
- dropFiles: testUtilsFile.dropFiles,
+ // this is done with the hope that tests are
+ // only started all together...
+ QUnit.start();
+ }, 0);
+ return {
+ mock: {
+ addMockEnvironment: testUtilsMock.addMockEnvironment,
+ getMockedOwlEnv: testUtilsMock.getMockedOwlEnv,
+ intercept: testUtilsMock.intercept,
+ patch: testUtilsMock.patch,
+ patchDate: testUtilsMock.patchDate,
+ unpatch: testUtilsMock.unpatch,
+ fieldsViewGet: testUtilsMock.fieldsViewGet,
+ patchSetTimeout: testUtilsMock.patchSetTimeout,
+ },
+ dom: {
+ triggerKeypressEvent: testUtilsDom.triggerKeypressEvent,
+ triggerMouseEvent: testUtilsDom.triggerMouseEvent,
+ triggerPositionalMouseEvent: testUtilsDom.triggerPositionalMouseEvent,
+ dragAndDrop: testUtilsDom.dragAndDrop,
+ openDatepicker: testUtilsDom.openDatepicker,
+ click: testUtilsDom.click,
+ clickFirst: testUtilsDom.clickFirst,
+ clickLast: testUtilsDom.clickLast,
+ triggerEvents: testUtilsDom.triggerEvents,
+ triggerEvent: testUtilsDom.triggerEvent,
+ },
+ form: {
+ clickEdit: testUtilsForm.clickEdit,
+ clickSave: testUtilsForm.clickSave,
+ clickCreate: testUtilsForm.clickCreate,
+ clickDiscard: testUtilsForm.clickDiscard,
+ reload: testUtilsForm.reload,
+ },
+ graph: {
+ reload: testUtilsGraph.reload,
+ },
+ kanban: {
+ reload: testUtilsKanban.reload,
+ clickCreate: testUtilsKanban.clickCreate,
+ quickCreate: testUtilsKanban.quickCreate,
+ toggleGroupSettings: testUtilsKanban.toggleGroupSettings,
+ toggleRecordDropdown: testUtilsKanban.toggleRecordDropdown,
+ },
+ modal: {
+ clickButton: testUtilsModal.clickButton,
+ },
+ pivot: {
+ clickMeasure: testUtilsPivot.clickMeasure,
+ toggleMeasuresDropdown: testUtilsPivot.toggleMeasuresDropdown,
+ reload: testUtilsPivot.reload,
+ },
+ fields: {
+ many2one: {
+ clickOpenDropdown: testUtilsFields.clickOpenM2ODropdown,
+ clickHighlightedItem: testUtilsFields.clickM2OHighlightedItem,
+ clickItem: testUtilsFields.clickM2OItem,
+ searchAndClickItem: testUtilsFields.searchAndClickM2OItem,
},
+ editInput: testUtilsFields.editInput,
+ editSelect: testUtilsFields.editSelect,
+ editAndTrigger: testUtilsFields.editAndTrigger,
+ triggerKey: testUtilsFields.triggerKey,
+ triggerKeydown: testUtilsFields.triggerKeydown,
+ triggerKeyup: testUtilsFields.triggerKeyup,
+ },
+ file: {
+ createFile: testUtilsFile.createFile,
+ dragoverFile: testUtilsFile.dragoverFile,
+ dropFile: testUtilsFile.dropFile,
+ dropFiles: testUtilsFile.dropFiles,
+ },
- createActionManager: testUtilsCreate.createActionManager,
- createDebugManager: testUtilsCreate.createDebugManager,
- createAsyncView: testUtilsCreate.createView,
- createCalendarView: testUtilsCreate.createCalendarView,
- createControlPanel: testUtilsCreate.createControlPanel,
- createView: testUtilsCreate.createView,
- createModel: testUtilsCreate.createModel,
- createParent: testUtilsCreate.createParent,
- makeTestPromise: makeTestPromise,
- makeTestPromiseWithAssert: makeTestPromiseWithAssert,
- nextMicrotaskTick: nextMicrotaskTick,
- nextTick: nextTick,
- prepareTarget: testUtilsCreate.prepareTarget,
- returnAfterNextAnimationFrame: testUtilsDom.returnAfterNextAnimationFrame,
+ createActionManager: testUtilsCreate.createActionManager,
+ createDebugManager: testUtilsCreate.createDebugManager,
+ createAsyncView: testUtilsCreate.createView,
+ createCalendarView: testUtilsCreate.createCalendarView,
+ createControlPanel: testUtilsCreate.createControlPanel,
+ createView: testUtilsCreate.createView,
+ createModel: testUtilsCreate.createModel,
+ createParent: testUtilsCreate.createParent,
+ makeTestPromise: makeTestPromise,
+ makeTestPromiseWithAssert: makeTestPromiseWithAssert,
+ nextMicrotaskTick: nextMicrotaskTick,
+ nextTick: nextTick,
+ prepareTarget: testUtilsCreate.prepareTarget,
+ returnAfterNextAnimationFrame: testUtilsDom.returnAfterNextAnimationFrame,
- // backward-compatibility
- addMockEnvironment: deprecated(testUtilsMock.addMockEnvironment, 'mock'),
- dragAndDrop: deprecated(testUtilsDom.dragAndDrop, 'dom'),
- fieldsViewGet: deprecated(testUtilsMock.fieldsViewGet, 'mock'),
- intercept: deprecated(testUtilsMock.intercept, 'mock'),
- openDatepicker: deprecated(testUtilsDom.openDatepicker, 'dom'),
- patch: deprecated(testUtilsMock.patch, 'mock'),
- patchDate: deprecated(testUtilsMock.patchDate, 'mock'),
- triggerKeypressEvent: deprecated(testUtilsDom.triggerKeypressEvent, 'dom'),
- triggerMouseEvent: deprecated(testUtilsDom.triggerMouseEvent, 'dom'),
- triggerPositionalMouseEvent: deprecated(testUtilsDom.triggerPositionalMouseEvent, 'dom'),
- unpatch: deprecated(testUtilsMock.unpatch, 'mock'),
- };
- });
+ // backward-compatibility
+ addMockEnvironment: deprecated(testUtilsMock.addMockEnvironment, 'mock'),
+ dragAndDrop: deprecated(testUtilsDom.dragAndDrop, 'dom'),
+ fieldsViewGet: deprecated(testUtilsMock.fieldsViewGet, 'mock'),
+ intercept: deprecated(testUtilsMock.intercept, 'mock'),
+ openDatepicker: deprecated(testUtilsDom.openDatepicker, 'dom'),
+ patch: deprecated(testUtilsMock.patch, 'mock'),
+ patchDate: deprecated(testUtilsMock.patchDate, 'mock'),
+ triggerKeypressEvent: deprecated(testUtilsDom.triggerKeypressEvent, 'dom'),
+ triggerMouseEvent: deprecated(testUtilsDom.triggerMouseEvent, 'dom'),
+ triggerPositionalMouseEvent: deprecated(testUtilsDom.triggerPositionalMouseEvent, 'dom'),
+ unpatch: deprecated(testUtilsMock.unpatch, 'mock'),
+ };
});