UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

66 lines (57 loc) 1.71 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import { isPolicyKind } from './policy-helper'; import { KindEnums } from '@apic/api-model/common/StudioEnums.js'; // Mock message-helper to avoid chalk import issues jest.mock('../../common/message-helper.js', () => ({ showError: jest.fn(), showWarning: jest.fn(), showSuccess: jest.fn(), showInfo: jest.fn(), showMessage: jest.fn(), })); describe('policy helper function test suite', () => { it('should return true for valid policy kinds', () => { const validKinds = [ KindEnums.Log, KindEnums.ErrorProcessing, KindEnums.IdentifyAndAuthorize, KindEnums.SetContextVariable, KindEnums.MonitorTraffic, KindEnums.CacheServiceResult, KindEnums.RateLimiter, KindEnums.InvokeAWSLambdaFunction, KindEnums.DataMasking, KindEnums.HTTPInvoke, KindEnums.InvokeMessagingExtension, KindEnums.TransformRequest, KindEnums.TransformResponse, KindEnums.ValidateAPISpecification, KindEnums.Route, KindEnums.Transport ]; validKinds.forEach(kind => { expect(isPolicyKind(kind)).toBe(true); }); }); it('should return false for invalid policy kinds', () => { const invalidKinds = [ 'UnknownKind1', 'UnknownKind2', 'AnotherUnknownKind' ]; invalidKinds.forEach(kind => { expect(isPolicyKind(kind)).toBe(false); }); }); it('should return false for an empty string', () => { expect(isPolicyKind('')).toBe(false); }); it('should return false for a null value', () => { expect(isPolicyKind(null as unknown as string)).toBe(false); }); it('should return false for a number', () => { expect(isPolicyKind(123 as unknown as string)).toBe(false); }); });