openapi-typescript-codegen/src/utils/writeClientSchemas.spec.ts
Ferdi Koomen fd988e834c - Woking on babel support
- Working on test server
- Embedding all templates
2020-09-24 16:10:00 +02:00

57 lines
1.8 KiB
TypeScript

import { Model } from '../client/interfaces/Model';
import { writeFile } from './fileSystem';
import { Templates } from './registerHandlebarTemplates';
import { writeClientSchemas } from './writeClientSchemas';
jest.mock('./fileSystem');
describe('writeClientSchemas', () => {
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',
getFormData: () => 'getFormData',
getQueryString: () => 'getQueryString',
isSuccess: () => 'isSuccess',
request: () => 'request',
requestOptions: () => 'requestOptions',
requestUsingFetch: () => 'requestUsingFetch',
requestUsingXHR: () => 'requestUsingXHR',
result: () => 'result',
},
};
await writeClientSchemas(models, templates, '/');
expect(writeFile).toBeCalledWith('/$MyModel.ts', 'schema');
});
});