46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
import {
|
|
click,
|
|
contains,
|
|
insertText,
|
|
setupChatHub,
|
|
start,
|
|
startServer,
|
|
} from "@mail/../tests/mail_test_helpers";
|
|
|
|
import { describe, expect, test } from "@odoo/hoot";
|
|
import { press } from "@odoo/hoot-dom";
|
|
|
|
import { Command, onRpc, serverState } from "@web/../tests/web_test_helpers";
|
|
import { defineAIModels } from "../ai_test_helpers";
|
|
|
|
describe.current.tags("desktop");
|
|
defineAIModels();
|
|
|
|
test("posting in ai chat triggers agent response generation", async () => {
|
|
const pyEnv = await startServer();
|
|
const partnerId = pyEnv["res.partner"].create({ name: "Agent Partner" });
|
|
const aiAgentId = pyEnv["ai.agent"].create({
|
|
name: "Agent Partner",
|
|
partner_id: partnerId,
|
|
});
|
|
const channelId = pyEnv["discuss.channel"].create({
|
|
channel_member_ids: [
|
|
Command.create({ partner_id: serverState.partnerId }),
|
|
Command.create({ partner_id: partnerId }),
|
|
],
|
|
channel_type: "ai_chat",
|
|
ai_agent_id: aiAgentId,
|
|
});
|
|
onRpc("/ai/generate_response", () => {
|
|
expect.step("generate_response");
|
|
return true;
|
|
});
|
|
setupChatHub({ opened: [channelId] });
|
|
await start();
|
|
await contains(".o-mail-ChatWindow");
|
|
await click(".o-mail-ChatWindow .o-mail-Composer-input");
|
|
await insertText(".o-mail-ChatWindow .o-mail-Composer-input", "AI is bad at writing code");
|
|
await press("Enter");
|
|
await expect.waitForSteps(["generate_response"]);
|
|
});
|