Compare commits

...
Author SHA1 Message Date
sonarly-bot 4bc5809a3b fix: avoid translating dynamic standard override labels
Authored via Sonarly Slack mention (run 42726).
2026-05-13 02:43:59 +00:00
4 changed files with 111 additions and 0 deletions
@@ -385,6 +385,52 @@ describe('resolveFieldMetadataStandardOverride', () => {
expect(result).toBe('Standard Label');
});
it('should return original field value without calling i18n when message is not compiled', () => {
const fieldMetadata = {
label: 'Dynamic Field Label',
description: 'Standard Description',
icon: 'default-icon',
isCustom: false,
standardOverrides: undefined,
};
mockGenerateMessageId.mockReturnValue('missing.message.id');
mockI18n.messages = {};
const result = resolveFieldMetadataStandardOverride(
fieldMetadata,
'label',
'fr-FR',
mockI18n,
);
expect(result).toBe('Dynamic Field Label');
expect(mockI18n._).not.toHaveBeenCalled();
});
it('should return original field value without calling i18n when message is not compiled', () => {
const fieldMetadata = {
label: 'Dynamic Field Label',
description: 'Standard Description',
icon: 'default-icon',
isCustom: false,
standardOverrides: undefined,
};
mockGenerateMessageId.mockReturnValue('missing.message.id');
mockI18n.messages = {};
const result = resolveFieldMetadataStandardOverride(
fieldMetadata,
'label',
'fr-FR',
mockI18n,
);
expect(result).toBe('Dynamic Field Label');
expect(mockI18n._).not.toHaveBeenCalled();
});
});
describe('Priority order - Standard fields', () => {
@@ -44,6 +44,14 @@ export const resolveFieldMetadataStandardOverride = (
const messageId = generateMessageId(fieldMetadata[labelKey] ?? '');
const isMessageCompiled =
!isDefined(i18nInstance.messages) ||
isDefined(i18nInstance.messages[messageId]);
if (!isMessageCompiled) {
return fieldMetadata[labelKey] ?? '';
}
const translatedMessage = i18nInstance._(messageId);
if (translatedMessage === messageId) {
@@ -503,6 +503,54 @@ describe('resolveObjectMetadataStandardOverride', () => {
expect(result).toBe('Standard Label');
});
it('should return original object value without calling i18n when message is not compiled', () => {
const objectMetadata = {
labelSingular: 'Dynamic Override Label',
labelPlural: 'Standard Labels',
description: 'Standard Description',
icon: 'default-icon',
isCustom: false,
standardOverrides: undefined,
};
mockGenerateMessageId.mockReturnValue('missing.message.id');
mockI18n.messages = {};
const result = resolveObjectMetadataStandardOverride(
objectMetadata,
'labelSingular',
'fr-FR',
mockI18n,
);
expect(result).toBe('Dynamic Override Label');
expect(mockI18n._).not.toHaveBeenCalled();
});
it('should return original object value without calling i18n when message is not compiled', () => {
const objectMetadata = {
labelSingular: 'Dynamic Override Label',
labelPlural: 'Standard Labels',
description: 'Standard Description',
icon: 'default-icon',
isCustom: false,
standardOverrides: undefined,
};
mockGenerateMessageId.mockReturnValue('missing.message.id');
mockI18n.messages = {};
const result = resolveObjectMetadataStandardOverride(
objectMetadata,
'labelSingular',
'fr-FR',
mockI18n,
);
expect(result).toBe('Dynamic Override Label');
expect(mockI18n._).not.toHaveBeenCalled();
});
});
describe('Priority order - Standard objects', () => {
@@ -52,6 +52,15 @@ export const resolveObjectMetadataStandardOverride = (
}
const messageId = generateMessageId(objectMetadata[labelKey] ?? '');
const isMessageCompiled =
!isDefined(i18nInstance.messages) ||
isDefined(i18nInstance.messages[messageId]);
if (!isMessageCompiled) {
return objectMetadata[labelKey] ?? '';
}
const translatedMessage = i18nInstance._(messageId);
if (translatedMessage === messageId) {