[AAE-10499] feat: create angular based custom http client for alfresco js api (#7800)

This commit is contained in:
Mikołaj Serwicki
2022-10-10 11:44:04 +02:00
committed by GitHub
parent f19c21fd24
commit 0e5f6372da
14 changed files with 953 additions and 82 deletions

View File

@@ -0,0 +1,99 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { isConstructor, getQueryParamsWithCustomEncoder, removeNilValues } from './alfresco-api.utils';
describe('AlfrescoApiUtils', () => {
describe('isConstructor', () => {
class MockClass {}
function mockFUnction() {}
it('should return true for class and functions', () => {
expect(isConstructor(MockClass)).toBe(true);
expect(isConstructor(mockFUnction)).toBe(true);
});
it('should return false for instances of a class/function', () => {
expect(isConstructor(new MockClass())).toBe(false);
expect(isConstructor(new mockFUnction())).toBe(false);
});
it('should return false for object', () => {
expect(isConstructor({})).toBe(false);
});
it('should return false for primitive types', () => {
expect(isConstructor('test')).toBe(false);
expect(isConstructor(1)).toBe(false);
expect(isConstructor(true)).toBe(false);
expect(isConstructor(false)).toBe(false);
expect(isConstructor(null)).toBe(false);
expect(isConstructor(undefined)).toBe(false);
});
});
describe('getQueryParamsWithCustomEncoder', () => {
it('should return queryParams with removed undefined values', () => {
const actual = getQueryParamsWithCustomEncoder({
key1: 'value1',
key2: undefined
});
expect(actual?.has('key2')).toBe(false);
});
it('should handle array values', () => {
const actual = getQueryParamsWithCustomEncoder({
key1: 'value1',
key2: [undefined, 'value2', null, 'value3', '']
});
expect(actual?.get('key2')).toEqual('value2');
expect(actual?.getAll('key2')).toEqual(['value2', 'value3']);
});
});
describe('removeUndefinedValues', () => {
it('should return queryParams with removed undefined values', () => {
const actual = removeNilValues({
key1: 'value1',
key2: undefined,
key3: null
});
expect(actual).toEqual({
key1: 'value1'
});
});
it('should handle array values', () => {
const actual = getQueryParamsWithCustomEncoder({
key1: 'value1',
key2: [undefined, 'value2', null, 'value3', '']
});
expect(actual?.get('key2')).toEqual('value2');
expect(actual?.getAll('key2')).toEqual(['value2', 'value3']);
});
});
});