mail/static/tests/discuss/core/crosstab_tests.js

52 lines
2.0 KiB
JavaScript
Raw Normal View History

2024-05-03 12:40:35 +03:00
/* @odoo-module */
import { startServer } from "@bus/../tests/helpers/mock_python_environment";
import { Command } from "@mail/../tests/helpers/command";
import { start } from "@mail/../tests/helpers/test_utils";
import { click, contains } from "@web/../tests/utils";
QUnit.module("crosstab");
QUnit.test("Add member to channel", async () => {
const pyEnv = await startServer();
const channelId = pyEnv["discuss.channel"].create({ name: "General" });
const userId = pyEnv["res.users"].create({ name: "Harry" });
pyEnv["res.partner"].create({ name: "Harry", user_ids: [userId] });
const { openDiscuss } = await start();
openDiscuss(channelId);
await click("[title='Show Member List']");
await contains(".o-discuss-ChannelMember", { text: "Mitchell Admin" });
await click("[title='Add Users']");
await click(".o-discuss-ChannelInvitation-selectable", { text: "Harry" });
await click("[title='Invite to Channel']:enabled");
await contains(".o-discuss-ChannelInvitation", { count: 0 });
await click("[title='Show Member List']");
await contains(".o-discuss-ChannelMember", { text: "Harry" });
});
QUnit.test("Remove member from channel", async () => {
const pyEnv = await startServer();
const userId = pyEnv["res.users"].create({ name: "Harry" });
const partnerId = pyEnv["res.partner"].create({
name: "Harry",
user_ids: [userId],
});
const channelId = pyEnv["discuss.channel"].create({
name: "General",
channel_member_ids: [
Command.create({ partner_id: pyEnv.currentPartnerId }),
Command.create({ partner_id: partnerId }),
],
});
const { env, openDiscuss } = await start();
openDiscuss(channelId);
await click("[title='Show Member List']");
await contains(".o-discuss-ChannelMember", { text: "Harry" });
pyEnv.withUser(userId, () =>
env.services.orm.call("discuss.channel", "action_unfollow", [channelId])
);
await contains(".o-discuss-ChannelMember", { count: 0, text: "Harry" });
});