nx/packages/workspace/src/generators/remove/lib/update-jest-config.spec.ts
Phillip Barta 52e3083a19
feat(core): added encoding param in Tree.read() (#5668)
feat(core): added encoding param in Tree.read()
2021-05-17 21:03:04 -04:00

75 lines
2.0 KiB
TypeScript

import { readProjectConfiguration, Tree } from '@nrwl/devkit';
import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
import { readFileSync } from 'fs';
import { join } from 'path';
import { Schema } from '../schema';
import { updateJestConfig } from './update-jest-config';
import { libraryGenerator } from '../../library/library';
describe('updateRootJestConfig', () => {
let tree: Tree;
let schema: Schema;
beforeEach(async () => {
tree = createTreeWithEmptyWorkspace();
schema = {
projectName: 'my-lib',
skipFormat: false,
forceRemove: false,
};
await libraryGenerator(tree, {
name: 'my-lib',
});
await libraryGenerator(tree, {
name: 'my-other-lib',
});
tree.write(
'jest.config.js',
readFileSync(join(__dirname, './test-files/jest.config.js'), 'utf-8')
);
});
it('should delete lib project ref from root jest config', async () => {
const jestConfig = tree.read('jest.config.js', 'utf-8');
expect(jestConfig).toMatchSnapshot();
updateJestConfig(tree, schema, readProjectConfiguration(tree, 'my-lib'));
const updatedJestConfig = tree.read('jest.config.js', 'utf-8');
expect(updatedJestConfig).toMatchSnapshot();
updateJestConfig(
tree,
{ ...schema, projectName: 'my-other-lib' },
readProjectConfiguration(tree, 'my-other-lib')
);
const updatedJestConfig2 = tree.read('jest.config.js', 'utf-8');
expect(updatedJestConfig2).toMatchSnapshot();
});
it('should not delete lib project ref from root jest config if there is no project jest config', () => {
tree.delete('libs/my-lib/jest.config.js');
const originalRootJestConfig = tree.read('jest.config.js', 'utf-8');
tree.write(
'jest.config.js',
originalRootJestConfig.replace(`'<rootDir>/libs/my-lib',`, '')
);
updateJestConfig(tree, schema, readProjectConfiguration(tree, 'my-lib'));
const rootJestConfig = tree.read('jest.config.js', 'utf-8');
expect(rootJestConfig).toMatchSnapshot();
});
});