summaryrefslogtreecommitdiff
path: root/addons/web/static/tests
diff options
context:
space:
mode:
authorPhilémon van Helden <pvh@odoo.com>2021-04-08 09:54:12 +0000
committerNicolas Lempereur <nle@odoo.com>2021-05-03 16:06:05 +0000
commit44b59d10d0ab6440b0a908f518c157a3d670627b (patch)
tree900273f7bfbc4ae388747af7bb138f77a40d219e /addons/web/static/tests
parentb55f843e8144f31e11167d95fcb9bff9cfec2536 (diff)
[FIX] web: no error on single active_ids state load
In eg. 13.0 when refreshing sales analysis action of a product, we would get an error because we have a single active_ids which is not expected by the code. With this commit, we use .toString() on the jQuery BBQ parsed active_ids as it was done before 32b8cec5 refactoring (january 2018). The added test with the fix fails with an error: TypeError: state.active_ids.split is not a function at Class.loadState (/web/static/src/js/chrome/action_manager_act_window.js) opw-2471982 closes odoo/odoo#70279 X-original-commit: bf9a985f4b62cc6f1eef4f9fcca2a8dfbd453004 Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com> Signed-off-by: pvh-odoo <SwagSamaSempai@users.noreply.github.com> Co-authored-by: Nicolas Lempereur <nle@odoo.com>
Diffstat (limited to 'addons/web/static/tests')
-rw-r--r--addons/web/static/tests/chrome/action_manager_tests.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/addons/web/static/tests/chrome/action_manager_tests.js b/addons/web/static/tests/chrome/action_manager_tests.js
index 9ade9a544ec..8511a8bfb38 100644
--- a/addons/web/static/tests/chrome/action_manager_tests.js
+++ b/addons/web/static/tests/chrome/action_manager_tests.js
@@ -1339,6 +1339,26 @@ QUnit.module('ActionManager', {
actionManager.destroy();
});
+ QUnit.test('state with integer active_ids should not crash', async function (assert) {
+ assert.expect(0);
+
+ var actionManager = await createActionManager({
+ actions: this.actions,
+ mockRPC: function (route, args) {
+ if (route === '/web/action/run') {
+ return Promise.resolve();
+ }
+ return this._super.apply(this, arguments);
+ },
+ });
+ await actionManager.loadState({
+ action: 2,
+ active_ids: 3,
+ });
+
+ actionManager.destroy();
+ });
+
QUnit.module('Concurrency management');
QUnit.test('drop previous actions if possible', async function (assert) {