/
add-nx-to-monorepo.test.ts
71 lines (65 loc) · 1.77 KB
/
add-nx-to-monorepo.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import {
createNonNxProjectDirectory,
runCLI,
runCommand,
tmpProjPath,
updateFile,
getPackageManagerCommand,
getSelectedPackageManager,
} from '@nrwl/e2e/utils';
import { Workspaces } from 'nx/src/config/workspaces';
describe('add-nx-to-monorepo', () => {
const packageManagerCommand = getPackageManagerCommand({
packageManager: getSelectedPackageManager(),
}).runUninstalledPackage;
it('should not throw', () => {
if (packageManagerCommand) {
// Arrange
createNonNxProjectDirectory();
updateFile(
'packages/package-a/package.json',
JSON.stringify({
name: 'package-a',
})
);
updateFile(
'packages/package-b/package.json',
JSON.stringify({
name: 'package-b',
})
);
// Act
const output = runCommand(
`${packageManagerCommand} add-nx-to-monorepo --nx-cloud false`
);
// Assert
expect(output).toContain('🎉 Done!');
expect(readWorkspaceConfig().projects['package-a']).toBeTruthy();
expect(readWorkspaceConfig().projects['package-b']).toBeTruthy();
}
});
it('should build', () => {
if (packageManagerCommand) {
// Arrange
createNonNxProjectDirectory();
updateFile(
'packages/package-a/package.json',
JSON.stringify({
name: 'package-a',
scripts: {
build: 'echo "build successful"',
},
})
);
// Act
runCommand(
`${packageManagerCommand} add-nx-to-monorepo --nx-cloud false`
);
const output = runCLI('build package-a');
// Assert
expect(output).toContain('build successful');
}
});
});
const readWorkspaceConfig = () =>
new Workspaces(tmpProjPath()).readWorkspaceConfiguration();