120 lines
4.2 KiB
JavaScript
120 lines
4.2 KiB
JavaScript
import {
|
|
SIZES,
|
|
click,
|
|
contains,
|
|
defineMailModels,
|
|
insertText,
|
|
openFormView,
|
|
patchUiSize,
|
|
scroll,
|
|
start,
|
|
startServer,
|
|
triggerHotkey,
|
|
} from "@mail/../tests/mail_test_helpers";
|
|
import { describe, test } from "@odoo/hoot";
|
|
import { serverState } from "@web/../tests/web_test_helpers";
|
|
|
|
import { HIGHLIGHT_CLASS } from "@mail/core/common/message_search_hook";
|
|
|
|
describe.current.tags("desktop");
|
|
defineMailModels();
|
|
|
|
test("Chatter should display search icon", async () => {
|
|
const pyEnv = await startServer();
|
|
patchUiSize({ size: SIZES.XXL });
|
|
await start();
|
|
const partnerId = pyEnv["res.partner"].create({ name: "John Doe" });
|
|
await openFormView("res.partner", partnerId);
|
|
await contains("[title='Search Messages']");
|
|
});
|
|
|
|
test("Click on the search icon should open the search form", async () => {
|
|
const pyEnv = await startServer();
|
|
patchUiSize({ size: SIZES.XXL });
|
|
await start();
|
|
const partnerId = pyEnv["res.partner"].create({ name: "John Doe" });
|
|
await openFormView("res.partner", partnerId);
|
|
await click("[title='Search Messages']");
|
|
await contains(".o_searchview");
|
|
await contains(".o_searchview_input");
|
|
});
|
|
|
|
test("Search in chatter", async () => {
|
|
patchUiSize({ size: SIZES.XXL });
|
|
const pyEnv = await startServer();
|
|
const partnerId = pyEnv["res.partner"].create({ name: "John Doe" });
|
|
pyEnv["mail.message"].create({
|
|
body: "not empty",
|
|
model: "res.partner",
|
|
res_id: partnerId,
|
|
});
|
|
await start();
|
|
await openFormView("res.partner", partnerId);
|
|
await click("[title='Search Messages']");
|
|
await insertText(".o_searchview_input", "empty");
|
|
triggerHotkey("Enter");
|
|
await contains(".o-mail-SearchMessageResult .o-mail-Message");
|
|
await click(".o-mail-MessageCard-jump");
|
|
await contains(".o-mail-Message.o-highlighted .o-mail-Message-content", { text: "not empty" });
|
|
});
|
|
|
|
test("Close button should close the search panel", async () => {
|
|
patchUiSize({ size: SIZES.XXL });
|
|
const pyEnv = await startServer();
|
|
const partnerId = pyEnv["res.partner"].create({ name: "John Doe" });
|
|
pyEnv["mail.message"].create({
|
|
body: "not empty",
|
|
model: "res.partner",
|
|
res_id: partnerId,
|
|
});
|
|
await start();
|
|
await openFormView("res.partner", partnerId);
|
|
await click(".o-mail-Chatter-topbar [title='Search Messages']");
|
|
await insertText(".o_searchview_input", "empty");
|
|
triggerHotkey("Enter");
|
|
await contains(".o-mail-SearchMessageResult .o-mail-Message");
|
|
await click(".o-mail-SearchMessageInput [title='Close']");
|
|
await contains(".o-mail-SearchMessageInput", { count: 0 });
|
|
});
|
|
|
|
test("Search in chatter should be hightligted", async () => {
|
|
patchUiSize({ size: SIZES.XXL });
|
|
const pyEnv = await startServer();
|
|
const partnerId = pyEnv["res.partner"].create({ name: "John Doe" });
|
|
pyEnv["mail.message"].create({
|
|
body: "not empty",
|
|
model: "res.partner",
|
|
res_id: partnerId,
|
|
});
|
|
await start();
|
|
await openFormView("res.partner", partnerId);
|
|
await click("[title='Search Messages']");
|
|
await insertText(".o_searchview_input", "empty");
|
|
triggerHotkey("Enter");
|
|
await contains(`.o-mail-SearchMessageResult .o-mail-Message .${HIGHLIGHT_CLASS}`);
|
|
});
|
|
|
|
test("Scrolling bottom in non-aside chatter should load more searched message", async () => {
|
|
patchUiSize({ size: SIZES.LG }); // non-aside
|
|
const pyEnv = await startServer();
|
|
const partnerId = pyEnv["res.partner"].create({ name: "John Doe" });
|
|
for (let i = 0; i < 60; i++) {
|
|
pyEnv["mail.message"].create({
|
|
author_id: serverState.partnerId,
|
|
body: "This is a message",
|
|
attachment_ids: [],
|
|
message_type: "comment",
|
|
model: "res.partner",
|
|
res_id: partnerId,
|
|
});
|
|
}
|
|
await start();
|
|
await openFormView("res.partner", partnerId);
|
|
await click("[title='Search Messages']");
|
|
await insertText(".o_searchview_input", "message");
|
|
triggerHotkey("Enter");
|
|
await contains(".o-mail-SearchMessageResult .o-mail-Message", { count: 30 });
|
|
await scroll(".o_content", "bottom");
|
|
await contains(".o-mail-SearchMessageResult .o-mail-Message", { count: 60 });
|
|
});
|