*: base_automation, lunch, mail, mrp, project, web_editor, website This commit adds a warning if the props validation is not set for a component. The props validation is important to tell how a component should be used, by looking at its code, it's a good documentation of the component. It's also critical, to test if the component is correctly used, if all the obligatory props are passed and that there are of the correct type. For more information, see: https://github.com/odoo/owl/blob/master/doc/reference/props.md#props-validation closes odoo/odoo#103723 Related: odoo/enterprise#33044 Signed-off-by: Géry Debongnie <ged@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', string: '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 },
|
|
]);
|