diff options
| author | Vincent Schippefilt <vsc@odoo.com> | 2019-12-04 10:44:32 +0000 |
|---|---|---|
| committer | Vincent Schippefilt <vsc@odoo.com> | 2019-12-09 11:09:10 +0000 |
| commit | b0941d19a07b08fabc64a284b58e57edc46203dd (patch) | |
| tree | a6b25026177d26a64c6c7f6005e27c41fca5c1b6 /addons/web/static/tests/helpers/test_utils_fields.js | |
| parent | 29726e8fd000cb09075f9b6b2a6a8d2ddaf4ef58 (diff) | |
[FIX] web,*: fix all tests and test utils to use native events
In this commit:
- transformed test_utils helpers to always trigger native events
- introduced new test_utils_create helper: prepareTarget
- updated qunit asserts to support Owl Components
- updated all misused helpers that would crash with the updated test_utils
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Pierre Rousseau <pro@odoo.com>
Diffstat (limited to 'addons/web/static/tests/helpers/test_utils_fields.js')
| -rw-r--r-- | addons/web/static/tests/helpers/test_utils_fields.js | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/addons/web/static/tests/helpers/test_utils_fields.js b/addons/web/static/tests/helpers/test_utils_fields.js index dcc9329bcbe..6532aa7033c 100644 --- a/addons/web/static/tests/helpers/test_utils_fields.js +++ b/addons/web/static/tests/helpers/test_utils_fields.js @@ -24,17 +24,21 @@ var domUtils = require('web.test_utils_dom'); * Example: * testUtils.fields.editAndTrigger($('selector'), 'test', ['input', 'change']); * - * @param {jQuery} $el should target an input, textarea or select + * @param {jQuery|EventTarget} el should target an input, textarea or select * @param {string|number} value * @param {string[]} events * @returns {Promise} */ -function editAndTrigger($el, value, events) { - if ($el.length !== 1) { - throw new Error(`target ${$el.selector} has length ${$el.length} instead of 1`); +function editAndTrigger(el, value, events) { + if (el instanceof jQuery) { + if (el.length !== 1) { + throw new Error(`target ${el.selector} has length ${el.length} instead of 1`); + } + el.val(value); + } else { + el.value = value; } - $el.val(value); - return domUtils.triggerEvents($el, events); + return domUtils.triggerEvents(el, events); } /** @@ -45,12 +49,12 @@ function editAndTrigger($el, value, events) { * Example: * testUtils.fields.editInput($('selector'), 'somevalue'); * - * @param {jQuery} $el + * @param {jQuery|EventTarget} el should target an input, textarea or select * @param {string|number} value * @returns {Promise} */ -function editInput($el, value) { - return editAndTrigger($el, value, ['input']); +function editInput(el, value) { + return editAndTrigger(el, value, ['input']); } /** @@ -61,12 +65,12 @@ function editInput($el, value) { * Example: * testUtils.fields.editSelect($('selector'), 'somevalue'); * - * @param {jQuery} $el + * @param {jQuery|EventTarget} el should target an input, textarea or select * @param {string|number} value * @returns {Promise} */ -function editSelect($el, value) { - return editAndTrigger($el, value, ['change']); +function editSelect(el, value) { + return editAndTrigger(el, value, ['change']); } /** @@ -83,10 +87,9 @@ async function clickOpenM2ODropdown(fieldName, selector) { if (matches.length !== 1) { throw new Error(`cannot open m2o: selector ${selector} has been found ${matches.length} instead of 1`); } - matches[0].click(); - return await concurrency.delay(0).then(function () { - return matches[0]; - }); + + await domUtils.click(matches[0]); + return matches[0]; } /** |
