54 lines
2.1 KiB
JavaScript
54 lines
2.1 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.module("transcript sender");
|
||
|
|
||
|
QUnit.test("send", async (assert) => {
|
||
|
await startServer();
|
||
|
await loadDefaultConfig();
|
||
|
start({
|
||
|
mockRPC(route, args) {
|
||
|
if (route === "/im_livechat/email_livechat_transcript") {
|
||
|
assert.step(`send_transcript - ${args.email}`);
|
||
|
}
|
||
|
},
|
||
|
});
|
||
|
await click(".o-livechat-LivechatButton");
|
||
|
await insertText(".o-mail-Composer-input", "Hello World!");
|
||
|
triggerHotkey("Enter");
|
||
|
await contains(".o-mail-Message-content", { text: "Hello World!" });
|
||
|
await click(".o-mail-ChatWindow-command[title*='Close']");
|
||
|
await contains(".form-text", { text: "Receive a copy of this conversation." });
|
||
|
await contains("button[data-action='sendTranscript']:disabled");
|
||
|
await insertText("input[placeholder='mail@example.com']", "odoobot@odoo.com");
|
||
|
await click("button[data-action='sendTranscript']:enabled");
|
||
|
await contains(".form-text", { text: "The conversation was sent." });
|
||
|
assert.verifySteps(["send_transcript - odoobot@odoo.com"]);
|
||
|
});
|
||
|
|
||
|
QUnit.test("send failed", async () => {
|
||
|
await startServer();
|
||
|
await loadDefaultConfig();
|
||
|
start({
|
||
|
mockRPC(route) {
|
||
|
if (route === "/im_livechat/email_livechat_transcript") {
|
||
|
throw new Error();
|
||
|
}
|
||
|
},
|
||
|
});
|
||
|
await click(".o-livechat-LivechatButton");
|
||
|
await insertText(".o-mail-Composer-input", "Hello World!");
|
||
|
triggerHotkey("Enter");
|
||
|
await contains(".o-mail-Message-content", { text: "Hello World!" });
|
||
|
await click(".o-mail-ChatWindow-command[title*='Close']");
|
||
|
await insertText("input[placeholder='mail@example.com']", "odoobot@odoo.com");
|
||
|
await click("button[data-action='sendTranscript']:enabled");
|
||
|
await contains(".form-text", { text: "An error occurred. Please try again." });
|
||
|
});
|