import { describe, expect, test } from "@odoo/hoot"; import { queryAllTexts } from "@odoo/hoot-dom"; import { contains, makeMockServer, mountView } from "@web/../tests/web_test_helpers"; import { contains as mailContains } from "@mail/../tests/mail_test_helpers"; import { defineHrModels } from "@hr/../tests/hr_test_helpers"; describe.current.tags("desktop"); defineHrModels(); test("avatar card preview with hr", async () => { const { env } = await makeMockServer(); const departmentId = env["hr.department"].create({ name: "Management", complete_name: "Management", }); const partnerId = env["res.partner"].create({ name: "Mario", email: "Mario@odoo.test", phone: "+7878698799", }); const jobId = env["hr.job"].create({ name: "sub manager", }); const workLocationId = env["hr.work.location"].create({ name: "Odoo", location_type: "office", }); const versionId = env["hr.version"].create({ job_id: jobId, work_location_id: workLocationId, department_id: departmentId, }); const employeeId = env["hr.employee"].create({ version_id: versionId, work_email: "Mario@odoo.pro", work_location_type: "office", work_phone: "+585555555", }); const userId = env["res.users"].create({ partner_id: partnerId, im_status: "online", employee_id: employeeId, employee_ids: [employeeId], }); env["hr.employee"].write(employeeId, { user_id: userId, work_contact_id: partnerId, }); env["m2x.avatar.user"].create({ user_id: userId }); await mountView({ type: "kanban", resModel: "m2x.avatar.user", arch: ` `, }); await contains(".o_m2o_avatar > img").click(); await mailContains(".o_avatar_card"); await mailContains(".o_avatar_card span[data-tooltip='Work Location'] .fa-building-o"); expect(queryAllTexts(".o_card_user_infos > *:not(.o_avatar_card_buttons)")).toEqual([ "Mario", "Management", "Mario@odoo.pro", "+585555555", "Odoo", ]); await contains(".o_action_manager:eq(0)").click(); await mailContains(".o_avatar_card", { count: 0 }); }); test("avatar card preview with hr (partner_id field)", async () => { const { env } = await makeMockServer(); const departmentId = env["hr.department"].create({ name: "Management", complete_name: "Management", }); const partnerId = env["res.partner"].create({ name: "Mario", email: "Mario@odoo.test", phone: "+7878698799", }); const jobId = env["hr.job"].create({ name: "sub manager", }); const workLocationId = env["hr.work.location"].create({ name: "Odoo", location_type: "office", }); const versionId = env["hr.version"].create({ job_id: jobId, work_location_id: workLocationId, department_id: departmentId, }); const employeeId = env["hr.employee"].create({ version_id: versionId, work_email: "Mario@odoo.pro", work_location_type: "office", work_phone: "+585555555", }); env["hr.employee"].write(employeeId, { work_contact_id: partnerId, }); env["m2x.avatar.user"].create({ partner_id: partnerId }); await mountView({ type: "kanban", resModel: "m2x.avatar.user", arch: ` `, }); await contains(".o_m2o_avatar > img").click(); await mailContains(".o_avatar_card"); await mailContains(".o_avatar_card span[data-tooltip='Work Location'] .fa-building-o"); expect(queryAllTexts(".o_card_user_infos > *:not(.o_avatar_card_buttons)")).toEqual([ "Mario", "Management", "Mario@odoo.pro", "+585555555", "Odoo", ]); await contains(".o_action_manager:eq(0)").click(); await mailContains(".o_avatar_card", { count: 0 }); });