import { Model } from '../client/interfaces/Model'; import { writeFile } from './fileSystem'; import { Templates } from './registerHandlebarTemplates'; import { writeClientModels } from './writeClientModels'; jest.mock('./fileSystem'); describe('writeClientModels', () => { it('should write to filesystem', async () => { const models: Model[] = [ { export: 'interface', name: 'MyModel', type: 'MyModel', base: 'MyModel', template: null, link: null, description: null, isDefinition: true, isReadOnly: false, isRequired: false, isNullable: false, imports: [], extends: [], enum: [], enums: [], properties: [], }, ]; const templates: Templates = { index: () => 'index', exports: { model: () => 'model', schema: () => 'schema', service: () => 'service', }, core: { settings: () => 'settings', apiError: () => 'apiError', apiRequestOptions: () => 'apiRequestOptions', apiResult: () => 'apiResult', request: () => 'request', }, }; await writeClientModels(models, templates, '/'); expect(writeFile).toBeCalledWith('/MyModel.ts', 'model'); }); });