53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
import { expirableStorage } from "@im_livechat/embed/common/expirable_storage";
|
|
import {
|
|
defineLivechatModels,
|
|
loadDefaultEmbedConfig,
|
|
} from "@im_livechat/../tests/livechat_test_helpers";
|
|
import { describe, test } from "@odoo/hoot";
|
|
import { contains, start, startServer } from "@mail/../tests/mail_test_helpers";
|
|
import { Command, onRpc, serverState } from "@web/../tests/web_test_helpers";
|
|
|
|
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, fold_state: "open" }),
|
|
],
|
|
channel_type: "livechat",
|
|
livechat_active: true,
|
|
livechat_channel_id: livechatChannelId,
|
|
livechat_operator_id: serverState.partnerId,
|
|
});
|
|
expirableStorage.setItem(
|
|
"im_livechat.saved_state",
|
|
JSON.stringify({
|
|
store: { "discuss.channel": [{ id: channelId }] },
|
|
persisted: true,
|
|
livechatUserId: serverState.publicUserId,
|
|
})
|
|
);
|
|
await start({
|
|
authenticateAs: { ...pyEnv["mail.guest"].read(guestId)[0], _name: "mail.guest" },
|
|
});
|
|
await contains(".o-mail-ChatWindow");
|
|
});
|
|
|
|
test("rule received in init", async () => {
|
|
await startServer();
|
|
await loadDefaultEmbedConfig();
|
|
onRpc("/im_livechat/init", () => {
|
|
return {
|
|
available_for_me: true,
|
|
rule: { action: "auto_popup", auto_popup_delay: 0 },
|
|
};
|
|
});
|
|
await start({ authenticateAs: false });
|
|
await contains(".o-mail-ChatWindow");
|
|
});
|