mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[MNT-24151] - ADW: Users can see some actions Edit Offline" and "Upload New Version" for the declared record (#9295)
* [MNT-24151] - ADW: Users can see some actions Edit Offline" and "Upload New Version" for the declared record * [MNT-24151] - add unit tests
This commit is contained in:
@@ -89,6 +89,30 @@ describe('Extension Utils', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should correctly merge arrays', () => {
|
||||
const obj1 = { items: ['apple', 'banana'] };
|
||||
const obj2 = { items: ['carrot'] };
|
||||
const obj3 = { items: ['date', 'elderberry'] };
|
||||
|
||||
const result = mergeObjects(obj1, obj2, obj3);
|
||||
|
||||
expect(result).toEqual({
|
||||
items: ['apple', 'banana', 'carrot', 'date', 'elderberry']
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
it('should append string values to existing array in result', () => {
|
||||
const obj1 = { items: ['apple', 'banana'] };
|
||||
const obj2 = { items: 'carrot' };
|
||||
|
||||
const result = mergeObjects(obj1, obj2);
|
||||
|
||||
expect(result).toEqual({
|
||||
items: ['apple', 'banana', 'carrot']
|
||||
});
|
||||
});
|
||||
|
||||
it('should replace nested objects', () => {
|
||||
const obj1 = { level1: { level2: { name: 'level2' } } };
|
||||
const obj2 = { level1: { 'level2.$replace': { name: 'modified', tag: 'node' } } };
|
||||
|
@@ -116,7 +116,11 @@ export const mergeObjects = (...objects: any[]): any => {
|
||||
if (replace) {
|
||||
result[prop] = source[`${prop}.$replace`];
|
||||
} else if (prop in result && Array.isArray(result[prop])) {
|
||||
result[prop] = mergeArrays(result[prop], source[prop]);
|
||||
if (Array.isArray(source[prop])) {
|
||||
result[prop] = mergeArrays(result[prop], source[prop]);
|
||||
} else {
|
||||
result[prop] = [...result[prop], source[prop]];
|
||||
}
|
||||
} else if (prop in result && typeof result[prop] === 'object') {
|
||||
result[prop] = mergeObjects(result[prop], source[prop]);
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user