UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

43 lines (32 loc) 1.44 kB
/** * Copyright IBM Corp. 2024, 2025 */ import { FileUploadFactory } from '../../src/model-factories/fileupload.factory.js'; describe('FileUploadFactory', () => { let factory: FileUploadFactory; beforeEach(() => { factory = new FileUploadFactory(); }); it('should create and retrieve a file by key', () => { factory.create({ key: 'file1', fileName: 'test.txt', value: 'data' }); const file = factory.getUploadedFile('file1'); expect(file).toEqual({ fileName: 'test.txt', value: 'data' }); }); it('should overwrite a file if the same key is used', () => { factory.create({ key: 'file1', fileName: 'test1.txt', value: 'data1' }); factory.create({ key: 'file1', fileName: 'test2.txt', value: 'data2' }); const file = factory.getUploadedFile('file1'); expect(file).toEqual({ fileName: 'test2.txt', value: 'data2' }); }); it('should return undefined for a non-existent key', () => { expect(factory.getUploadedFile('unknown')).toBeUndefined(); }); it('should return all uploaded files', () => { factory.create({ key: 'file1', fileName: 'a.txt', value: 'A' }); factory.create({ key: 'file2', fileName: 'b.txt', value: 'B' }); const allFiles = factory.getAllUploadedFiles(); expect(allFiles).toContainEqual({ fileName: 'a.txt', value: 'A' }); expect(allFiles).toContainEqual({ fileName: 'b.txt', value: 'B' }); expect(allFiles).toHaveLength(2); }); });