UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

58 lines (45 loc) 1.71 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ /* eslint-disable @typescript-eslint/no-explicit-any */ import { getRefsFromPackageAsset } from './package-kind-helper.js'; import { BaseAsset } from '../../../model/assets-model.js'; jest.mock('../../common/message-helper.js', () => ({ showWarning: jest.fn(), })); describe('getRefsFromPackageAsset', () => { beforeEach(() => { jest.clearAllMocks(); }); it('should return AssetCacheModel with apis and plans ref', () => { const packageAsset: BaseAsset = { spec: { 'apis': [{ $ref: 'dev:API:1.0' }, { $ref: 'dev:API:2.0' }], 'plans': [{ $ref: 'dev:Plan:1.0' }] }, } as unknown as BaseAsset; const result = getRefsFromPackageAsset(packageAsset); expect(result).toEqual([ { kind: 'API', ref: 'dev:API:1.0', isNewlyAdded: true }, { kind: 'API', ref: 'dev:API:2.0', isNewlyAdded: true }, { kind: 'Plan', ref: 'dev:Plan:1.0', isNewlyAdded: true } ]); }); it('should handle package asset with missing spec properties', () => { const routeAsset: BaseAsset = { spec: {}, } as unknown as BaseAsset; const result = getRefsFromPackageAsset(routeAsset); expect(result).toEqual([]); }); it('should return empty array when packageAsset exists but lacks a $ref', () => { const packageAsset: BaseAsset = { spec: { "apis": [], "plans": [] }, } as unknown as BaseAsset; const result = getRefsFromPackageAsset(packageAsset); expect(result).toEqual([]); }); });