Files
odoo_source/addons/mail/static/tests/web/debug_menu_tests.js
T
Pierre Paridans eef262abf4 [FIX] *: adapt QUnit tests and tours
[FIX] *: selectors in tours

[FIX][TMP] account: CogMenu selector in tours

[FIX][TMP] web*: Breadcrumb targetting in tours

Adds a `o_breadcrumb` class to target the whole breadcrumb, no matter
how much elements it contains (collapsed parts, visible path, single
name...).

add classname on last breadcrumb item

[FIX][TMP] project: View buttons selector in tours (moved away from CP)

[FIX][TMP] project: Kanban selectors in tours (quick create)

[FIX][TMP] *: SearchBar selectors in tours (toggle menu)

[FIX][TMP] *: ButtonBox selector in tours

[WIP][IMP] web: add toggleSearchBarMenu in search helpers

adapt and unskip 3 list tests

adapt and unskip calendar tests

unskip web_tour test that actually pass

post rebase fix

allow to lose cell focus after multi edition (given to searchbar) - bug reported, to check later

post rebase fixes

fix

Part-of: odoo/odoo#116641
2023-05-12 22:59:22 +02:00

62 lines
2.2 KiB
JavaScript

/** @odoo-module **/
import { manageMessages } from "@mail/js/tools/debug_manager";
import {
click,
getFixture,
legacyExtraNextTick,
patchWithCleanup,
} from "@web/../tests/helpers/utils";
import {
createWebClient,
doAction,
getActionManagerServerData,
} from "@web/../tests/webclient/helpers";
import { registry } from "@web/core/registry";
QUnit.module("debug menu");
QUnit.test("Manage Messages", async (assert) => {
patchWithCleanup(odoo, { debug: "1" });
const serverData = getActionManagerServerData();
// Add fake "mail.message" model and arch
serverData.models["mail.message"] = {
fields: { name: { string: "Name", type: "char" } },
records: [],
};
Object.assign(serverData.views, {
"mail.message,false,list": "<tree/>",
"mail.message,false,form": "<form/>",
"mail.message,false,search": "<search/>",
});
registry.category("debug").category("form").add("manageMessages", manageMessages);
async function mockRPC(route, { method, model, kwargs }) {
if (method === "check_access_rights") {
return true;
}
if (method === "web_search_read" && model === "mail.message") {
assert.step("message_read");
const { context, domain } = kwargs;
assert.strictEqual(context.default_res_id, 5);
assert.strictEqual(context.default_res_model, "partner");
assert.deepEqual(domain, ["&", ["res_id", "=", 5], ["model", "=", "partner"]]);
}
}
const target = getFixture();
const wc = await createWebClient({ serverData, mockRPC });
await doAction(wc, 3, { viewType: "form", props: { resId: 5 } });
await legacyExtraNextTick();
await click(target, ".o_debug_manager .dropdown-toggle");
const dropdownItems = target.querySelectorAll(".o_debug_manager .dropdown-menu .dropdown-item");
assert.strictEqual(dropdownItems.length, 1);
assert.strictEqual(dropdownItems[0].innerText.trim(), "Manage Messages");
await click(dropdownItems[0]);
await legacyExtraNextTick();
assert.verifySteps(["message_read"]);
assert.strictEqual(
target.querySelector(".o_breadcrumb .active > span").innerText.trim(),
"Manage Messages"
);
});