oca-ocb-hr/odoo-bringout-oca-ocb-hr_holidays/hr_holidays/static/tests/im_status.test.js
Ernad Husremovic e1d89e11e3 19.0 vanilla
2026-03-09 09:31:00 +01:00

45 lines
1.9 KiB
JavaScript

import { describe, test } from "@odoo/hoot";
import { Store } from "@mail/core/common/store_service";
import { startServer, start, openDiscuss, contains } from "@mail/../tests/mail_test_helpers";
import { serverState, patchWithCleanup } from "@web/../tests/web_test_helpers";
import { defineHrHolidaysModels } from "@hr_holidays/../tests/hr_holidays_test_helpers";
describe.current.tags("desktop");
defineHrHolidaysModels();
test("change icon on change partner im_status for leave variants", async () => {
const pyEnv = await startServer();
pyEnv["res.partner"].write([serverState.partnerId], { im_status: "online" });
pyEnv["res.users"].write([serverState.userId], { leave_date_to: "2023-01-01" });
const channelId = pyEnv["discuss.channel"].create({ channel_type: "chat" });
patchWithCleanup(Store, { IM_STATUS_DEBOUNCE_DELAY: 0 });
await start();
await openDiscuss(channelId);
await contains(
".o-mail-DiscussContent-header .o-mail-ImStatus .fa-plane[title='On Leave (Online)']"
);
pyEnv["bus.bus"]._sendone("broadcast", "bus.bus/im_status_updated", {
partner_id: serverState.partnerId,
im_status: "leave_offline",
presence_status: "offline",
});
await contains(".o-mail-DiscussContent-header .o-mail-ImStatus .fa-plane[title='On Leave']");
pyEnv["bus.bus"]._sendone("broadcast", "bus.bus/im_status_updated", {
partner_id: serverState.partnerId,
im_status: "leave_away",
presence_status: "away",
});
await contains(
".o-mail-DiscussContent-header .o-mail-ImStatus .fa-plane[title='On Leave (Idle)']"
);
pyEnv["bus.bus"]._sendone("broadcast", "bus.bus/im_status_updated", {
partner_id: serverState.partnerId,
im_status: "leave_online",
presence_status: "online",
});
await contains(
".o-mail-DiscussContent-header .o-mail-ImStatus .fa-plane[title='On Leave (Online)']"
);
});