1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/knowledge/static/tests/knowledge_thread_tests.js
2024-12-10 09:04:09 +07:00

59 lines
2.1 KiB
JavaScript

/* @odoo-module */
import { startServer } from "@bus/../tests/helpers/mock_python_environment";
import { addModelNamesToFetch } from "@bus/../tests/helpers/model_definitions_helpers";
import { start } from "@mail/../tests/helpers/test_utils";
import { click, contains } from "@web/../tests/utils";
import { makeDeferred, patchWithCleanup } from "@web/../tests/helpers/utils";
QUnit.module("Knowledge - Thread tests");
addModelNamesToFetch(["knowledge.article", "knowledge.article.thread"]);
QUnit.test("Expand article.thread opens linked article", async function (assert) {
const pyEnv = await startServer();
const actionPromise = makeDeferred();
const { env } = await start();
patchWithCleanup(env.services.action, {
doAction(action, params) {
assert.ok(params?.additionalContext?.res_id);
assert.strictEqual(action, "knowledge.ir_actions_server_knowledge_home_page");
assert.step("knowledge_action_called");
actionPromise.resolve();
},
});
const articleId = pyEnv["knowledge.article"].create({
name: "Thread tests",
body: `
<h1>Thread tests</h1>
<p>Hello World</p>
`,
});
const thread = pyEnv["knowledge.article.thread"].create({
article_id: articleId,
});
pyEnv["bus.bus"]._sendone(pyEnv.currentPartner, "mail.message/inbox", {
author_id: pyEnv.publicPartnerId,
body: "Howdy Neighbor",
id: thread,
needaction_partner_ids: [pyEnv.currentPartnerId],
model: "knowledge.article.thread",
res_id: thread,
record_name: "Thread tests",
});
await contains(".o-mail-MessagingMenu-counter", { text: "1" });
await click(".o-mail-DiscussSystray-class .fa-comments");
await click(".o-mail-NotificationItem");
await contains(".o-mail-ChatWindow-header", { text: "Thread tests" });
await click(".o-mail-ChatWindow-command[title='Open Form View']");
await actionPromise;
await assert.verifySteps(["knowledge_action_called"]);
await contains(".o-mail-ChatWindow-header", { count: 0 });
});