Odoo18-Base/addons/im_livechat/static/tests/embed/history_command.test.js
2025-01-06 10:57:38 +07:00

45 lines
1.4 KiB
JavaScript

import {
defineLivechatModels,
loadDefaultEmbedConfig,
} from "@im_livechat/../tests/livechat_test_helpers";
import { LivechatButton } from "@im_livechat/embed/common/livechat_button";
import {
assertSteps,
click,
contains,
insertText,
start,
startServer,
step,
triggerHotkey,
} from "@mail/../tests/mail_test_helpers";
import { describe, test } from "@odoo/hoot";
import { tick } from "@odoo/hoot-mock";
import { getService, mountWithCleanup, onRpc } from "@web/../tests/web_test_helpers";
describe.current.tags("desktop");
defineLivechatModels();
test("Handle livechat history command", async () => {
const pyEnv = await startServer();
await loadDefaultEmbedConfig();
onRpc("/im_livechat/history", () => {
step("/im_livechat/history");
return true;
});
await start({ authenticateAs: false });
await mountWithCleanup(LivechatButton);
await click(".o-livechat-LivechatButton");
await insertText(".o-mail-Composer-input", "Hello World!");
triggerHotkey("Enter");
await contains(".o-mail-Message", { count: 2 });
const thread = getService("im_livechat.livechat").thread;
const guestId = pyEnv.cookie.get("dgid");
const [guest] = pyEnv["mail.guest"].read(guestId);
pyEnv["bus.bus"]._sendone(guest, "im_livechat.history_command", {
id: thread.id,
});
await tick();
await assertSteps(["/im_livechat/history"]);
});