mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-23 07:32:09 +02:00
19.0 vanilla
This commit is contained in:
parent
a1137a1456
commit
e1d89e11e3
2789 changed files with 1093187 additions and 605897 deletions
|
|
@ -0,0 +1,14 @@
|
|||
import { hrModels } from "@hr/../tests/hr_test_helpers";
|
||||
import { defineModels } from "@web/../tests/web_test_helpers";
|
||||
import { GamificationBadge } from "./mock_server/mock_models/gamification_badge";
|
||||
import { GamificationBadgeUser } from "./mock_server/mock_models/gamification_badge_user";
|
||||
|
||||
export function defineHrGamificationModels() {
|
||||
return defineModels(hrGamificationModels);
|
||||
}
|
||||
|
||||
export const hrGamificationModels = {
|
||||
...hrModels,
|
||||
GamificationBadge,
|
||||
GamificationBadgeUser,
|
||||
};
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
import { click, start } from "@mail/../tests/mail_test_helpers";
|
||||
import { expect, test } from "@odoo/hoot";
|
||||
import { defineHrGamificationModels } from "@hr_gamification/../tests/hr_gamification_test_helpers";
|
||||
import { asyncStep, makeMockServer, mockService, serverState, waitForSteps } from "@web/../tests/web_test_helpers";
|
||||
import { user } from "@web/core/user";
|
||||
|
||||
defineHrGamificationModels();
|
||||
|
||||
test("badge notification opens employee form", async () => {
|
||||
const { env } = await makeMockServer();
|
||||
|
||||
const badgeUserId = env["gamification.badge.user"].create({
|
||||
badge_name: "Best Employee",
|
||||
user_id: serverState.userId,
|
||||
user_partner_id: serverState.partnerId,
|
||||
});
|
||||
|
||||
const employeeId = env["hr.employee.public"].create(
|
||||
{
|
||||
name: "Demo",
|
||||
user_id: serverState.userId,
|
||||
company_id: user.activeCompany.id,
|
||||
})
|
||||
|
||||
const messageId = env["mail.message"].create(
|
||||
{
|
||||
message_type: 'user_notification',
|
||||
model: "gamification.badge.user",
|
||||
res_id: badgeUserId,
|
||||
body: "You've received a badge!",
|
||||
needaction: true,
|
||||
});
|
||||
|
||||
env["mail.notification"].create(
|
||||
{
|
||||
mail_message_id: messageId,
|
||||
res_partner_id: serverState.partnerId,
|
||||
notification_status: "sent",
|
||||
notification_type: "inbox",
|
||||
},
|
||||
);
|
||||
|
||||
mockService("action", {
|
||||
doAction(action) {
|
||||
asyncStep("do_action");
|
||||
expect(action.type).toBe("ir.actions.act_window");
|
||||
expect(action.res_model).toBe("hr.employee.public");
|
||||
expect(action.views).toEqual([[false, "form"]]);
|
||||
expect(action.res_id).toBe(employeeId);
|
||||
},})
|
||||
|
||||
await start();
|
||||
await click(".o_menu_systray i[aria-label='Messages']");
|
||||
await click(".o-mail-NotificationItem", {
|
||||
text: "You've received a badge!",
|
||||
});
|
||||
await waitForSteps(["do_action"]);
|
||||
});
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
import { models } from "@web/../tests/web_test_helpers";
|
||||
|
||||
export class GamificationBadge extends models.ServerModel {
|
||||
_name = "gamification.badge";
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
import { models } from "@web/../tests/web_test_helpers";
|
||||
|
||||
export class GamificationBadgeUser extends models.ServerModel {
|
||||
_name = "gamification.badge.user";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue