117 lines
4.3 KiB
JavaScript
117 lines
4.3 KiB
JavaScript
/* @odoo-module */
|
|
|
|
import { startServer } from "@bus/../tests/helpers/mock_python_environment";
|
|
|
|
import { start } from "@mail/../tests/helpers/test_utils";
|
|
|
|
import { browser } from "@web/core/browser/browser";
|
|
import { patchWithCleanup } from "@web/../tests/helpers/utils";
|
|
import { click, contains } from "@web/../tests/utils";
|
|
|
|
QUnit.module("call setting");
|
|
|
|
QUnit.test("Renders the call settings", async () => {
|
|
patchWithCleanup(browser, {
|
|
navigator: {
|
|
...browser.navigator,
|
|
mediaDevices: {
|
|
enumerateDevices: () =>
|
|
Promise.resolve([
|
|
{
|
|
deviceId: "mockAudioDeviceId",
|
|
kind: "audioinput",
|
|
label: "mockAudioDeviceLabel",
|
|
},
|
|
{
|
|
deviceId: "mockVideoDeviceId",
|
|
kind: "videoinput",
|
|
label: "mockVideoDeviceLabel",
|
|
},
|
|
]),
|
|
},
|
|
},
|
|
});
|
|
const pyEnv = await startServer();
|
|
const channelId = pyEnv["discuss.channel"].create({ name: "test" });
|
|
const { openDiscuss } = await start();
|
|
openDiscuss(channelId);
|
|
await click(".o-mail-Discuss-header .fa-gear");
|
|
await contains(".o-discuss-CallSettings");
|
|
await contains("label[aria-label='Input device']");
|
|
await contains("option[value=mockAudioDeviceId]");
|
|
await contains("option[value=mockVideoDeviceId]", { count: 0 });
|
|
await contains("input[title='toggle push-to-talk']");
|
|
await contains("label[aria-label='Voice detection threshold']");
|
|
await contains("input[title='Show video participants only']");
|
|
await contains("input[title='Blur video background']");
|
|
});
|
|
|
|
QUnit.test("activate push to talk", async () => {
|
|
patchWithCleanup(browser, {
|
|
navigator: {
|
|
...browser.navigator,
|
|
mediaDevices: {
|
|
enumerateDevices: () => Promise.resolve([]),
|
|
},
|
|
},
|
|
});
|
|
const pyEnv = await startServer();
|
|
const channelId = pyEnv["discuss.channel"].create({ name: "test" });
|
|
const { openDiscuss } = await start();
|
|
openDiscuss(channelId);
|
|
await click(".o-mail-Discuss-header .fa-gear");
|
|
await click("input[title='toggle push-to-talk']");
|
|
await contains("i[aria-label='Register new key']");
|
|
await contains("label[aria-label='Delay after releasing push-to-talk']");
|
|
await contains("label[aria-label='Voice detection threshold']", { count: 0 });
|
|
});
|
|
|
|
QUnit.test("activate blur", async () => {
|
|
patchWithCleanup(browser, {
|
|
navigator: {
|
|
...browser.navigator,
|
|
mediaDevices: {
|
|
enumerateDevices: () => Promise.resolve([]),
|
|
},
|
|
},
|
|
});
|
|
const pyEnv = await startServer();
|
|
const channelId = pyEnv["discuss.channel"].create({ name: "test" });
|
|
const { openDiscuss } = await start();
|
|
openDiscuss(channelId);
|
|
await click(".o-mail-Discuss-header .fa-gear");
|
|
await click("input[title='Blur video background']");
|
|
await contains("label[aria-label='Background blur intensity']");
|
|
await contains("label[aria-label='Edge blur intensity']");
|
|
});
|
|
|
|
QUnit.test("Inbox should not have any call settings menu", async () => {
|
|
await startServer();
|
|
const { openDiscuss } = await start();
|
|
openDiscuss("mail.box_inbox");
|
|
await contains(".o-mail-Thread");
|
|
await contains("button[title='Show Call Settings']", { count: 0 });
|
|
});
|
|
|
|
QUnit.test(
|
|
"Call settings menu should not be visible on selecting a mailbox (from being open)",
|
|
async () => {
|
|
patchWithCleanup(browser, {
|
|
navigator: {
|
|
...browser.navigator,
|
|
mediaDevices: {
|
|
enumerateDevices: () => Promise.resolve([]),
|
|
},
|
|
},
|
|
});
|
|
const pyEnv = await startServer();
|
|
const channelId = pyEnv["discuss.channel"].create({ name: "General" });
|
|
const { openDiscuss } = await start();
|
|
openDiscuss(channelId);
|
|
await click("button[title='Show Call Settings']");
|
|
await click("button", { text: "Inbox" });
|
|
await contains("button[title='Hide Call Settings']", { count: 0 });
|
|
await contains(".o-discuss-CallSettings", { count: 0 });
|
|
}
|
|
);
|