diff --git a/addons/web/static/tests/webclient/actions/load_state_tests.js b/addons/web/static/tests/webclient/actions/load_state_tests.js index cf1d86f2c5f..f728eef8688 100644 --- a/addons/web/static/tests/webclient/actions/load_state_tests.js +++ b/addons/web/static/tests/webclient/actions/load_state_tests.js @@ -198,6 +198,8 @@ QUnit.module("ActionManager", (hooks) => { webClient.env.bus.trigger("test:hashchange", { action: "HelloWorldTest", }); + await new Promise((r) => setTimeout(r)); // real "hashchange" event is triggered after a setTimeout [1] + // [1] https://github.com/odoo/odoo/blob/1882d8f89f760bd1ff8a2bf0ae798939402647a3/addons/web/static/tests/setup.js#L52 await nextTick(); await nextTick(); assert.strictEqual( @@ -217,6 +219,7 @@ QUnit.module("ActionManager", (hooks) => { webClient.env.bus.trigger("test:hashchange", { action: 1, }); + await new Promise((r) => setTimeout(r)); // real "hashchange" event is triggered after a setTimeout [1] await nextTick(); await nextTick(); assert.containsOnce(target, ".o_control_panel"); @@ -239,6 +242,7 @@ QUnit.module("ActionManager", (hooks) => { id: 2, model: "partner", }); + await new Promise((r) => setTimeout(r)); // real "hashchange" event is triggered after a setTimeout [1] await nextTick(); await nextTick(); assert.containsOnce(target, ".o_form_view"); @@ -281,6 +285,7 @@ QUnit.module("ActionManager", (hooks) => { model: "partner", view_type: "form", }); + await new Promise((r) => setTimeout(r)); // real "hashchange" event is triggered after a setTimeout [1] await nextTick(); await nextTick(); assert.containsOnce(target, ".o_form_view"); @@ -302,6 +307,7 @@ QUnit.module("ActionManager", (hooks) => { action: 3, view_type: "kanban", }); + await new Promise((r) => setTimeout(r)); // real "hashchange" event is triggered after a setTimeout [1] await nextTick(); await nextTick(); assert.containsNone(target, ".o_list_view"); @@ -403,6 +409,7 @@ QUnit.module("ActionManager", (hooks) => { action: 3, view_type: "kanban", }); + await new Promise((r) => setTimeout(r)); // real "hashchange" event is triggered after a setTimeout [1] await nextTick(); await nextTick(); assert.containsNone(target, ".o_list_view"); @@ -413,6 +420,7 @@ QUnit.module("ActionManager", (hooks) => { id: 4, view_type: "form", }); + await new Promise((r) => setTimeout(r)); // real "hashchange" event is triggered after a setTimeout [1] await nextTick(); await nextTick(); assert.containsNone(target, ".o_kanban_view"); @@ -448,6 +456,7 @@ QUnit.module("ActionManager", (hooks) => { id: 4, view_type: "form", }); + await new Promise((r) => setTimeout(r)); // real "hashchange" event is triggered after a setTimeout [1] await nextTick(); await nextTick(); assert.containsOnce(target, ".o_form_view");