oca-ocb-mail/odoo-bringout-oca-ocb-im_livechat/im_livechat/static/tests/embed/autopopup.test.js
Ernad Husremovic daa394e8b0 19.0 vanilla
2026-03-09 09:31:39 +01:00

52 lines
2 KiB
JavaScript

import {
defineLivechatModels,
loadDefaultEmbedConfig,
} from "@im_livechat/../tests/livechat_test_helpers";
import { contains, setupChatHub, start, startServer } from "@mail/../tests/mail_test_helpers";
import { describe, test } from "@odoo/hoot";
import { Command, patchWithCleanup, serverState } from "@web/../tests/web_test_helpers";
import { mailDataHelpers } from "@mail/../tests/mock_server/mail_mock_server";
describe.current.tags("desktop");
defineLivechatModels();
test("persisted session", async () => {
const pyEnv = await startServer();
const livechatChannelId = await loadDefaultEmbedConfig();
const guestId = pyEnv["mail.guest"].create({ name: "Visitor 11" });
const channelId = pyEnv["discuss.channel"].create({
channel_member_ids: [
Command.create({ partner_id: serverState.partnerId }),
Command.create({ guest_id: guestId }),
],
channel_type: "livechat",
livechat_channel_id: livechatChannelId,
livechat_operator_id: serverState.partnerId,
});
setupChatHub({ opened: [channelId] });
await start({
authenticateAs: { ...pyEnv["mail.guest"].read(guestId)[0], _name: "mail.guest" },
});
await contains(".o-mail-ChatWindow");
});
test("rule received in init", async () => {
const pyEnv = await startServer();
await loadDefaultEmbedConfig();
const autopopupRuleId = pyEnv["im_livechat.channel.rule"].create({
auto_popup_timer: 0,
action: "auto_popup",
});
patchWithCleanup(mailDataHelpers, {
_process_request_for_all(store) {
super._process_request_for_all(...arguments);
store.add(pyEnv["im_livechat.channel.rule"].browse(autopopupRuleId), {
action: "auto_popup",
auto_popup_timer: 0,
});
store.add({ livechat_rule: autopopupRuleId });
},
});
await start({ authenticateAs: false });
await contains(".o-mail-ChatWindow");
});