[IMP] web: clickbot: add test for dropdown menu
This commit backports the test introduced in odoo/odoo#155154, as it is relevant to have it in every versions to ensure that dropdown menu (i.e. submenus) are correctly tested. closes odoo/odoo#155218 X-original-commit: 8915c8db63d2ebc697bbfc073e3504589a26b4b8 Signed-off-by: Bastien Fafchamps (bafa) <bafa@odoo.com> Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit is contained in:
@@ -2,7 +2,13 @@
|
||||
|
||||
import { registry } from "@web/core/registry";
|
||||
import { createWebClient } from "./helpers";
|
||||
import { makeDeferred, patchDate, patchWithCleanup } from "@web/../tests/helpers/utils";
|
||||
import {
|
||||
getFixture,
|
||||
makeDeferred,
|
||||
nextTick,
|
||||
patchDate,
|
||||
patchWithCleanup,
|
||||
} from "@web/../tests/helpers/utils";
|
||||
import { browser } from "@web/core/browser/browser";
|
||||
import { ListRenderer } from "@web/views/list/list_renderer";
|
||||
import { onWillStart, onWillUpdateProps } from "@odoo/owl";
|
||||
@@ -118,7 +124,7 @@ QUnit.module("clickbot", (hooks) => {
|
||||
name: "menu 2",
|
||||
appID: 2,
|
||||
actionID: 1022,
|
||||
xmlid: "app2_menu1",
|
||||
xmlid: "app2_menu2",
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -173,7 +179,7 @@ QUnit.module("clickbot", (hooks) => {
|
||||
'Clicking on: filter "Not Bar"',
|
||||
'Clicking on: filter "Date"',
|
||||
'Clicking on: filter option "October"',
|
||||
"Testing menu menu 2 app2_menu1",
|
||||
"Testing menu menu 2 app2_menu2",
|
||||
'Clicking on: menu item "menu 2"',
|
||||
"Testing 2 filters",
|
||||
'Clicking on: filter "Not Bar"',
|
||||
@@ -188,6 +194,73 @@ QUnit.module("clickbot", (hooks) => {
|
||||
]);
|
||||
});
|
||||
|
||||
QUnit.test("clickbot clickeverywhere test (with dropdown menu)", async (assert) => {
|
||||
serverData.menus.root.children = [2];
|
||||
serverData.menus[2].children = [5];
|
||||
serverData.menus[5] = {
|
||||
id: 5,
|
||||
children: [3, 4],
|
||||
name: "a dropdown",
|
||||
appID: 2,
|
||||
xmlid: "app2_dropdown_menu",
|
||||
};
|
||||
|
||||
patchDate(2017, 9, 8, 15, 35, 11); // October 8 2017, 15:35:11
|
||||
patchWithCleanup(browser, {
|
||||
console: {
|
||||
log: (msg) => {
|
||||
assert.step(msg);
|
||||
if (msg === "test successful") {
|
||||
clickEverywhereDef.resolve();
|
||||
}
|
||||
},
|
||||
error: (msg) => {
|
||||
assert.step(msg);
|
||||
clickEverywhereDef.resolve();
|
||||
},
|
||||
},
|
||||
});
|
||||
await createWebClient({ serverData });
|
||||
await nextTick();
|
||||
assert.containsOnce(
|
||||
getFixture(),
|
||||
".o_menu_sections .o-dropdown .dropdown-toggle:contains(a dropdown)"
|
||||
);
|
||||
clickEverywhereDef = makeDeferred();
|
||||
window.clickEverywhere();
|
||||
await clickEverywhereDef;
|
||||
assert.verifySteps([
|
||||
"Clicking on: apps menu toggle button",
|
||||
"Testing app menu: app2",
|
||||
"Testing menu App2 app2",
|
||||
'Clicking on: menu item "App2"',
|
||||
"Testing 2 filters",
|
||||
'Clicking on: filter "Not Bar"',
|
||||
'Clicking on: filter "Date"',
|
||||
'Clicking on: filter option "October"',
|
||||
"Clicking on: menu toggler",
|
||||
"Testing menu menu 1 app2_menu1",
|
||||
'Clicking on: menu item "menu 1"',
|
||||
"Testing 2 filters",
|
||||
'Clicking on: filter "Not Bar"',
|
||||
'Clicking on: filter "Date"',
|
||||
'Clicking on: filter option "October"',
|
||||
"Clicking on: menu toggler",
|
||||
"Testing menu menu 2 app2_menu2",
|
||||
'Clicking on: menu item "menu 2"',
|
||||
"Testing 2 filters",
|
||||
'Clicking on: filter "Not Bar"',
|
||||
'Clicking on: filter "Date"',
|
||||
'Clicking on: filter option "October"',
|
||||
"Clicking on: apps menu toggle button",
|
||||
"Successfully tested 1 apps",
|
||||
"Successfully tested 2 menus",
|
||||
"Successfully tested 0 modals",
|
||||
"Successfully tested 6 filters",
|
||||
"test successful",
|
||||
]);
|
||||
});
|
||||
|
||||
QUnit.test("clickbot test waiting rpc after clicking filter", async (assert) => {
|
||||
let clickBotStarted = false;
|
||||
serverData.actions = {
|
||||
|
||||
Reference in New Issue
Block a user