@apistudio/apim-cli
Version:
CLI for API Management Products
75 lines (65 loc) • 2.17 kB
text/typescript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import {addErrorToResponse,errorsArray,constructErrorResponse} from '../../src/helpers/helper.js';
jest.mock('../../src/service/log-wrapper.ts');
describe('addErrorToResponse', () => {
beforeEach(() => {
// Clear errorsArray before each test
errorsArray.length = 0;
});
test('should add error object to errorsArray', () => {
addErrorToResponse('ERR001', 'field1', 'Error description 1');
expect(errorsArray).toHaveLength(1);
expect(errorsArray[0]).toEqual({
code: 'ERR001',
field: 'field1',
description: 'Error description 1'
});
});
test('should add multiple error objects to errorsArray', () => {
addErrorToResponse('ERR001', 'field1', 'Error description 1');
addErrorToResponse('ERR002', 'field2', 'Error description 2');
expect(errorsArray).toHaveLength(2);
expect(errorsArray[0]).toEqual({
code: 'ERR001',
field: 'field1',
description: 'Error description 1'
});
expect(errorsArray[1]).toEqual({
code: 'ERR002',
field: 'field2',
description: 'Error description 2'
});
});
});
describe('constructErrorResponse', () => {
beforeEach(() => {
// Clear errorsArray before each test
errorsArray.length = 0;
});
test('should construct error response object with correct properties', () => {
addErrorToResponse('ERR001', 'field1', 'Error description 1');
addErrorToResponse('ERR002', 'field2', 'Error description 2');
const response = constructErrorResponse();
expect(response.respCode).toBe(400);
expect(response.message).toBe('Invalid Assets or Reference in the Zip');
expect(response.Endpoints).toEqual([]);
expect(response.errors).toHaveLength(2);
expect(response.errors[0]).toEqual({
code: 'ERR001',
field: 'field1',
description: 'Error description 1'
});
expect(response.errors[1]).toEqual({
code: 'ERR002',
field: 'field2',
description: 'Error description 2'
});
});
test('should clear errorsArray after constructing error response', () => {
addErrorToResponse('ERR001', 'field1', 'Error description 1');
constructErrorResponse();
expect(errorsArray).toHaveLength(0);
});
});