Skip to content

Commit

Permalink
cleanup(testing): add e2e test for add-nx-to-monorepo (nrwl#8004)
Browse files Browse the repository at this point in the history
  • Loading branch information
AgentEnder authored Dec 9, 2021
1 parent 900c603 commit 28cd781
Show file tree
Hide file tree
Showing 8 changed files with 126 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/e2e-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ jobs:
- e2e-storybook
- e2e-workspace-integrations,e2e-workspace-core,e2e-workspace-create
- e2e-react-native,e2e-detox
- e2e-add-nx-to-monorepo
exclude:
# exclude react-native and detox from ubuntu
- os: ubuntu-latest
Expand Down
10 changes: 10 additions & 0 deletions e2e/add-nx-to-monorepo/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module.exports = {
preset: '../../jest.preset.js',
transform: {
'^.+\\.[tj]sx?$': 'ts-jest',
},
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'html'],
maxWorkers: 1,
globals: { 'ts-jest': { tsconfig: '<rootDir>/tsconfig.spec.json' } },
displayName: 'e2e-add-nx-to-monorepo',
};
34 changes: 34 additions & 0 deletions e2e/add-nx-to-monorepo/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"root": "e2e/add-nx-to-monorepo",
"sourceRoot": "e2e/add-nx-to-monorepo",
"projectType": "application",
"targets": {
"e2e": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"commands": [
{
"command": "yarn e2e-start-local-registry"
},
{
"command": "yarn e2e-build-package-publish"
},
{
"command": "nx run-e2e-tests e2e-add-nx-to-monorepo"
}
],
"parallel": false
}
},
"run-e2e-tests": {
"executor": "@nrwl/jest:jest",
"options": {
"jestConfig": "e2e/add-nx-to-monorepo/jest.config.js",
"passWithNoTests": true,
"runInBand": true
},
"outputs": ["coverage/e2e/add-nx-to-monorepo"]
}
},
"implicitDependencies": ["workspace"]
}
37 changes: 37 additions & 0 deletions e2e/add-nx-to-monorepo/src/add-nx-to-monorepo.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import {
createNonNxProjectDirectory,
readProjectConfig,
runCommand,
tmpProjPath,
updateFile,
} from '@nrwl/e2e/utils';
import { Workspaces } from '@nrwl/tao/src/shared/workspace';

describe('add-nx-to-monorepo', () => {
it('should not throw', () => {
// 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('npx add-nx-to-monorepo');
// Assert
expect(output).toBeTruthy();
expect(readWorkspaceConfig().projects['package-a']).toBeTruthy();
expect(readWorkspaceConfig().projects['package-b']).toBeTruthy();
});
});

const readWorkspaceConfig = () =>
new Workspaces(tmpProjPath()).readWorkspaceConfiguration();
13 changes: 13 additions & 0 deletions e2e/add-nx-to-monorepo/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"types": ["node", "jest"]
},
"include": [],
"files": [],
"references": [
{
"path": "./tsconfig.spec.json"
}
]
}
19 changes: 19 additions & 0 deletions e2e/add-nx-to-monorepo/tsconfig.spec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"module": "commonjs",
"types": ["jest", "node"]
},
"include": [
"**/*.test.ts",
"**/*.spec.ts",
"**/*.spec.tsx",
"**/*.test.tsx",
"**/*.spec.js",
"**/*.test.js",
"**/*.spec.jsx",
"**/*.test.jsx",
"**/*.d.ts"
]
}
11 changes: 11 additions & 0 deletions e2e/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,17 @@ export function readProjectConfig(projectName: string): ProjectConfiguration {
return readJson(path);
}

export function createNonNxProjectDirectory(name = uniq('proj')) {
projName = name;
ensureDirSync(tmpProjPath());
createFile(
'package.json',
JSON.stringify({
name,
})
);
}

export function runCreateWorkspace(
name: string,
{
Expand Down
1 change: 1 addition & 0 deletions workspace.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"detox": "packages/detox",
"devkit": "packages/devkit",
"docs": "docs",
"e2e-add-nx-to-monorepo": "e2e/add-nx-to-monorepo",
"e2e-angular-core": "e2e/angular-core",
"e2e-angular-extensions": "e2e/angular-extensions",
"e2e-cli": "e2e/cli",
Expand Down

0 comments on commit 28cd781

Please sign in to comment.