@asyncapi/generator
Version:
The AsyncAPI generator. It can generate documentation, code, anything!
63 lines (54 loc) • 1.67 kB
JavaScript
/* eslint-disable sonarjs/no-duplicate-string */
const {
configureReact,
renderReact,
saveRenderedReactContent,
} = require('../lib/renderer/react');
jest.mock('../lib/utils');
jest.mock('@asyncapi/generator-react-sdk');
describe('React renderer', () => {
describe('saveRenderedReactContent', () => {
let util;
let AsyncReactSDK;
beforeAll(() => {
util = require('../lib/utils');
AsyncReactSDK = require('@asyncapi/generator-react-sdk');
});
it('works transpilation', async () => {
await configureReact('../file', '../dir', '../file');
expect(AsyncReactSDK.transpileFiles).toHaveBeenCalledTimes(1);
});
it('works rendering', async () => {
await renderReact({}, '../file', {}, '../file', '../dir', '../location', {}, false, '');
expect(AsyncReactSDK.renderTemplate).toHaveBeenCalledTimes(1);
});
it('works saving single rendered content', async () => {
const content = {
content: 'Content',
metadata: {
fileName: 'file.html',
}
};
await saveRenderedReactContent(content, '../some/path');
expect(util.writeFile).toHaveBeenCalledTimes(1);
});
it('works saving multiple rendered contents', async () => {
const content = [
{
content: 'Content1',
metadata: {
fileName: 'file1.html',
}
},
{
content: 'Content2',
metadata: {
fileName: 'file2.html',
}
},
];
await saveRenderedReactContent(content, '../some/path');
expect(util.writeFile).toHaveBeenCalledTimes(2);
});
});
});