diff --git a/lib/core/api/src/lib/alfresco-api/alfresco-api.utils.spec.ts b/lib/core/api/src/lib/alfresco-api/alfresco-api.utils.spec.ts index c0c37a8b1a..1831a42c8a 100644 --- a/lib/core/api/src/lib/alfresco-api/alfresco-api.utils.spec.ts +++ b/lib/core/api/src/lib/alfresco-api/alfresco-api.utils.spec.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { isConstructor, getQueryParamsWithCustomEncoder, removeNilValues } from './alfresco-api.utils'; +import { isConstructor, getQueryParamsWithCustomEncoder, removeNilValues, convertObjectToFormData } from './alfresco-api.utils'; describe('AlfrescoApiUtils', () => { describe('isConstructor', () => { @@ -93,4 +93,30 @@ describe('AlfrescoApiUtils', () => { expect(actual?.getAll('key2')).toEqual(['value2', 'value3']); }); }); + + describe('convertObjectToFormData', () => { + it('should create correct FormData entries for string values', () => { + const testParams: Record = { name: 'file name', description: 'file description' }; + const result = convertObjectToFormData(testParams); + + expect(result.get('name')).toBe('file name'); + expect(result.get('description')).toBe('file description'); + }); + + it('should handle Blob files correctly', () => { + const testFile = new File(['content'], 'test.txt', { type: 'text/plain' }); + const testParams: Record = { file: testFile }; + + const result = convertObjectToFormData(testParams); + expect(result.get('file')).toEqual(testFile); + }); + + it('should create multiple entries with same key for arrays', () => { + const testParams: Record> = { categories: ['category1', 'category2', 'category3'] }; + const result = convertObjectToFormData(testParams); + + const values = result.getAll('categories'); + expect(values).toEqual(['category1', 'category2', 'category3']); + }); + }); }); diff --git a/lib/core/api/src/lib/alfresco-api/alfresco-api.utils.ts b/lib/core/api/src/lib/alfresco-api/alfresco-api.utils.ts index 83c074c390..e42047f913 100644 --- a/lib/core/api/src/lib/alfresco-api/alfresco-api.utils.ts +++ b/lib/core/api/src/lib/alfresco-api/alfresco-api.utils.ts @@ -85,7 +85,7 @@ export const removeNilValues = (obj: Record) => { }, {}); }; -export const convertObjectToFormData = (formParams: Record): FormData => { +export const convertObjectToFormData = (formParams: Record>): FormData => { const formData = new FormData(); for (const key in formParams) { @@ -93,6 +93,8 @@ export const convertObjectToFormData = (formParams: Record formData.append(key, item)); } else { formData.append(key, value); }