52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import type { Tree } from '@nrwl/devkit';
|
|
import * as devkit from '@nrwl/devkit';
|
|
import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
|
|
import { applicationGenerator } from '../application/application';
|
|
import { webWorkerGenerator } from './web-worker';
|
|
|
|
describe('webWorker generator', () => {
|
|
let tree: Tree;
|
|
const appName = 'ng-app1';
|
|
|
|
beforeEach(async () => {
|
|
tree = createTreeWithEmptyWorkspace();
|
|
await applicationGenerator(tree, { name: appName });
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
it('should generate files', async () => {
|
|
await webWorkerGenerator(tree, { name: 'test-worker', project: appName });
|
|
|
|
expect(tree.exists(`apps/${appName}/tsconfig.worker.json`));
|
|
expect(tree.exists(`apps/${appName}/src/app/test-worker.worker.ts`));
|
|
});
|
|
|
|
it('should extend from tsconfig.base.json', async () => {
|
|
await webWorkerGenerator(tree, { name: 'test-worker', project: appName });
|
|
|
|
expect(
|
|
tree.read(`apps/${appName}/tsconfig.worker.json`, 'utf-8')
|
|
).toContain('"extends": "../../tsconfig.base.json"');
|
|
});
|
|
|
|
it('should format files', async () => {
|
|
jest.spyOn(devkit, 'formatFiles');
|
|
|
|
await webWorkerGenerator(tree, { name: 'test-worker', project: appName });
|
|
|
|
expect(devkit.formatFiles).toHaveBeenCalled();
|
|
});
|
|
|
|
it('should not format files when --skipFormat=true', async () => {
|
|
jest.spyOn(devkit, 'formatFiles');
|
|
|
|
await webWorkerGenerator(tree, {
|
|
name: 'test-worker',
|
|
project: appName,
|
|
skipFormat: true,
|
|
});
|
|
|
|
expect(devkit.formatFiles).not.toHaveBeenCalled();
|
|
});
|
|
});
|