Before this PR, the `_mockIrWebsocket__updatePresence` route of the bus mock server could lead to errors when no im status ids were provided. This commit fixes this issue by ensuring im status ids were passed before calling `_mockIrWebsocket__getImStatus` method. Moreover, old longpolling routes were still present on the bus mock server. This commit removes these routes. closes odoo/odoo#100583 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
105 lines
4.0 KiB
JavaScript
105 lines
4.0 KiB
JavaScript
/** @odoo-module **/
|
|
|
|
import { TEST_GROUP_IDS, TEST_USER_IDS } from '@bus/../tests/helpers/test_constants';
|
|
import {
|
|
addFakeModel,
|
|
addModelNamesToFetch,
|
|
insertModelFields,
|
|
insertRecords
|
|
} from '@bus/../tests/helpers/model_definitions_helpers';
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Models
|
|
//--------------------------------------------------------------------------
|
|
|
|
addModelNamesToFetch([
|
|
'mail.activity', 'mail.activity.type', 'mail.channel', 'mail.channel.member',
|
|
'mail.channel.rtc.session', 'mail.followers', 'mail.guest', 'mail.link.preview', 'mail.message',
|
|
'mail.message.subtype', 'mail.notification', 'mail.shortcode', 'mail.template',
|
|
'mail.tracking.value', 'res.users.settings', 'res.users.settings.volumes'
|
|
]);
|
|
|
|
addFakeModel('res.fake', {
|
|
message_ids: { string: 'Messages', type: 'one2many', relation: 'mail.message' },
|
|
activity_ids: { string: "Activities", type: 'one2many', relation: 'mail.activity' },
|
|
email_cc: { type: 'char' },
|
|
partner_ids: { relation: 'res.partner', string: "Related partners", type: 'one2many' },
|
|
});
|
|
|
|
addFakeModel('m2x.avatar.user', {
|
|
user_id: { type: 'many2one', relation: 'res.users' },
|
|
user_ids: { type: 'many2many', relation: 'res.users' },
|
|
});
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Insertion of fields
|
|
//--------------------------------------------------------------------------
|
|
|
|
insertModelFields('mail.activity', {
|
|
chaining_type: { default: 'suggest' },
|
|
});
|
|
insertModelFields('mail.channel', {
|
|
author_id: {
|
|
default() {
|
|
return this.currentPartnerId;
|
|
},
|
|
},
|
|
avatarCacheKey: { string: "Avatar Cache Key", type: "datetime" },
|
|
channel_member_ids: {
|
|
default() {
|
|
return [[0, 0, { partner_id: this.currentPartnerId }]];
|
|
},
|
|
},
|
|
channel_type: { default: 'channel' },
|
|
group_based_subscription: { string: "Group based subscription", type: "boolean" },
|
|
group_public_id: {
|
|
default() {
|
|
return TEST_GROUP_IDS.groupUserId;
|
|
},
|
|
},
|
|
uuid: { default: () => _.uniqueId('mail.channel_uuid-') },
|
|
});
|
|
insertModelFields('mail.channel.member', {
|
|
fold_state: { default: 'open' },
|
|
is_pinned: { default: true },
|
|
message_unread_counter: { default: 0 },
|
|
});
|
|
insertModelFields('mail.message', {
|
|
author_id: { default: TEST_USER_IDS.currentPartnerId },
|
|
history_partner_ids: { relation: 'res.partner', string: "Partners with History", type: 'many2many' },
|
|
is_discussion: { string: 'Discussion', type: 'boolean' },
|
|
is_note: { string: "Discussion", type: 'boolean' },
|
|
is_notification: { string: "Note", type: 'boolean' },
|
|
needaction_partner_ids: { relation: 'res.partner', string: "Partners with Need Action", type: 'many2many' },
|
|
res_model_name: { string: "Res Model Name", type: 'char' },
|
|
});
|
|
insertModelFields('mail.message.subtype', {
|
|
subtype_xmlid: { type: 'char' },
|
|
});
|
|
insertModelFields('mail.tracking.value', {
|
|
changed_field: { string: 'Changed field', type: 'char' },
|
|
new_value: { string: 'New value', type: 'char' },
|
|
old_value: { string: 'Old value', type: 'char' },
|
|
});
|
|
insertModelFields('res.users.settings', {
|
|
is_discuss_sidebar_category_channel_open: { default: true },
|
|
is_discuss_sidebar_category_chat_open: { default: true },
|
|
});
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Insertion of records
|
|
//--------------------------------------------------------------------------
|
|
|
|
insertRecords('mail.activity.type', [
|
|
{ icon: 'fa-envelope', id: 1, name: "Email" },
|
|
{ icon: 'fa-upload', id: 28, name: "Upload Document" },
|
|
]);
|
|
insertRecords('mail.message.subtype', [
|
|
{ default: false, internal: true, name: "Activities", sequence: 90, subtype_xmlid: 'mail.mt_activities' },
|
|
{
|
|
default: false, internal: true, name: "Note", sequence: 100, subtype_xmlid: 'mail.mt_note',
|
|
track_recipients: true
|
|
},
|
|
{ name: "Discussions", sequence: 0, subtype_xmlid: 'mail.mt_comment', track_recipients: true },
|
|
]);
|