@apistudio/apim-cli
Version:
CLI for API Management Products
40 lines (35 loc) • 1.25 kB
text/typescript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { ModelFactory } from '../../src/model-factories/model.factory.js';
import { LogWrapper } from '../../src/service/log-wrapper.js';
import { ZipTestModelTransformer } from '../../src/transformers/zip-models.transformer.js';
import path from 'path';
import { readFileSync } from 'fs';
jest.mock('../../src/service/log-wrapper.js');
jest.mock('@apic/studio-logger', () => ({
LoggerConfig: {
isLoggerEnabled: jest.fn(),
},
}));
describe('TestTransformer.transform', () => {
let transformer: ZipTestModelTransformer;
beforeEach(() => {
transformer = new ZipTestModelTransformer();
});
it('should process all files in the zip and call model factory methods', async () => {
const zipFilePath = path.join(__dirname, '../assets/valid-asset.zip');
const buffer = readFileSync(zipFilePath);
const result = await transformer.transform(buffer);
expect(result).toBeInstanceOf(ModelFactory);
expect(result.getAllTests()).toHaveLength(1);
expect(LogWrapper.logInfo).toHaveBeenCalledWith(
'0003',
'Starting file processing.',
);
expect(LogWrapper.logInfo).toHaveBeenCalledWith(
'0003',
'File processing completed.',
);
});
});