66 lines
2.3 KiB
JavaScript
66 lines
2.3 KiB
JavaScript
|
/* @odoo-module */
|
||
|
|
||
|
import { startServer } from "@bus/../tests/helpers/mock_python_environment";
|
||
|
|
||
|
import { loadDefaultConfig, start } from "@im_livechat/../tests/embed/helper/test_utils";
|
||
|
|
||
|
import { triggerHotkey } from "@web/../tests/helpers/utils";
|
||
|
import { click, contains, insertText } from "@web/../tests/utils";
|
||
|
|
||
|
QUnit.test("open/close temporary channel", async () => {
|
||
|
await startServer();
|
||
|
await loadDefaultConfig();
|
||
|
start();
|
||
|
await click(".o-livechat-LivechatButton");
|
||
|
await contains(".o-mail-ChatWindow");
|
||
|
await contains(".o-livechat-LivechatButton", { count: 0 });
|
||
|
await click("[title='Close Chat Window']");
|
||
|
await contains(".o-mail-ChatWindow", { count: 0 });
|
||
|
await contains(".o-livechat-LivechatButton", { count: 1 });
|
||
|
});
|
||
|
|
||
|
QUnit.test("open/close persisted channel", async () => {
|
||
|
await startServer();
|
||
|
await loadDefaultConfig();
|
||
|
start();
|
||
|
await click(".o-livechat-LivechatButton");
|
||
|
await insertText(".o-mail-Composer-input", "How can I help?");
|
||
|
triggerHotkey("Enter");
|
||
|
await contains(".o-mail-Message-content", { text: "How can I help?" });
|
||
|
await click("[title='Close Chat Window']");
|
||
|
await contains(".o-mail-ChatWindow", { text: "Did we correctly answer your question?" });
|
||
|
await click("[title='Close Chat Window']");
|
||
|
await contains(".o-mail-ChatWindow", { count: 0 });
|
||
|
await contains(".o-livechat-LivechatButton", { count: 1 });
|
||
|
});
|
||
|
|
||
|
QUnit.test("livechat not available", async () => {
|
||
|
await startServer();
|
||
|
await loadDefaultConfig();
|
||
|
start({
|
||
|
mockRPC(route) {
|
||
|
if (route === "/im_livechat/init") {
|
||
|
return { available_for_me: false };
|
||
|
}
|
||
|
},
|
||
|
});
|
||
|
await contains(".o-mail-ChatWindowContainer");
|
||
|
await contains(".o-livechat-LivechatButton", { count: 0 });
|
||
|
});
|
||
|
|
||
|
QUnit.test("clicking on notification opens the chat", async () => {
|
||
|
await startServer();
|
||
|
await loadDefaultConfig();
|
||
|
await start({
|
||
|
mockRPC(route) {
|
||
|
if (route === "/im_livechat/init") {
|
||
|
return { rule: { action: "display_button_and_text" } };
|
||
|
}
|
||
|
},
|
||
|
});
|
||
|
await click(".o-livechat-LivechatButton-notification", {
|
||
|
text: "Have a Question? Chat with us.",
|
||
|
});
|
||
|
await contains(".o-mail-ChatWindow");
|
||
|
});
|