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:
@@ -139,7 +139,7 @@ export class CustomResourcesService {
|
|||||||
language: 'afts'
|
language: 'afts'
|
||||||
},
|
},
|
||||||
filterQueries,
|
filterQueries,
|
||||||
include: ['path', 'properties', 'allowableOperations'],
|
include: ['path', 'properties', 'allowableOperations', 'aspects'],
|
||||||
sort: [
|
sort: [
|
||||||
{
|
{
|
||||||
type: 'FIELD',
|
type: 'FIELD',
|
||||||
|
@@ -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', () => {
|
it('should replace nested objects', () => {
|
||||||
const obj1 = { level1: { level2: { name: 'level2' } } };
|
const obj1 = { level1: { level2: { name: 'level2' } } };
|
||||||
const obj2 = { level1: { 'level2.$replace': { name: 'modified', tag: 'node' } } };
|
const obj2 = { level1: { 'level2.$replace': { name: 'modified', tag: 'node' } } };
|
||||||
|
@@ -116,7 +116,11 @@ export const mergeObjects = (...objects: any[]): any => {
|
|||||||
if (replace) {
|
if (replace) {
|
||||||
result[prop] = source[`${prop}.$replace`];
|
result[prop] = source[`${prop}.$replace`];
|
||||||
} else if (prop in result && Array.isArray(result[prop])) {
|
} 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') {
|
} else if (prop in result && typeof result[prop] === 'object') {
|
||||||
result[prop] = mergeObjects(result[prop], source[prop]);
|
result[prop] = mergeObjects(result[prop], source[prop]);
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user