[IMP] web: testUtils: ensure backward compatibility

Rev. 7c3d5dc0 recently added new helpers to use in the tests, and
moved some existing helpers to testUtils sub groups (like .dom or
.mock).

This rev. adds a compatibility layer to ease forwardports.

closes odoo/odoo#28824
This commit is contained in:
Aaron Bohy
2018-11-20 10:44:24 +00:00
parent 153c2a9f94
commit de924f41ee
3 changed files with 43 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
odoo.define('web.tools', function (require) {
"use strict";
/**
* Wrapper for deprecated functions that display a warning message.
*
* @param {Function} fn the deprecated function
* @param {string} [message=''] optional message to display
* @returns {Function}
*/
function deprecated(fn, message) {
return function () {
console.warn(message || (fn.name + ' is deprecated.'));
fn.apply(this, arguments);
};
}
return {
deprecated: deprecated,
};
});
@@ -22,6 +22,13 @@ 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');
function deprecated(fn, type) {
var msg = `Helper 'testUtils.${fn.name}' is deprecated. ` +
`Please use 'testUtils.${type}.${fn.name}' instead.`;
return tools.deprecated(fn, msg);
};
// Loading static files cannot be properly simulated when their real content is
// really needed. This is the case for static XML files so we load them here,
@@ -99,6 +106,19 @@ return $.when(
createView: testUtilsCreate.createView,
createModel: testUtilsCreate.createModel,
createParent: testUtilsCreate.createParent,
// 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'),
};
});
+1
View File
@@ -223,6 +223,7 @@
<script type="text/javascript" src="/web/static/src/js/widgets/change_password.js"></script>
<script type="text/javascript" src="/web/static/src/js/tools/debug_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/tools/test_menus_loader.js"/>
<script type="text/javascript" src="/web/static/src/js/tools/tools.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/data_export.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/date_picker.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/domain_selector_dialog.js"></script>