diff options
| author | Julien Mougenot <jum@odoo.com> | 2020-02-25 12:52:41 +0000 |
|---|---|---|
| committer | Julien Mougenot <jum@odoo.com> | 2020-03-13 09:37:29 +0000 |
| commit | 384e516218375000461aa3fcb0ac1b9eaa960fb3 (patch) | |
| tree | 89d6faece5edea9a4f182b7a6d2e83cbb6f540ce /addons/web/static/tests/helpers/test_utils.js | |
| parent | 11ba58a311311b798a68183df18673e562bb97d3 (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.js | 254 |
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'), + }; }); |
