nx/e2e/app.test.ts
2017-09-01 11:00:33 -04:00

35 lines
1.5 KiB
TypeScript

import {addNgRx, checkFilesExists, cleanup, newApp, readFile, runCLI, runCommand, runSchematic, updateFile} from './utils';
describe('application', () => {
beforeEach(cleanup);
it('creates a new application in a workspace', () => {
runSchematic('@nrwl/nx:application --name=proj');
runSchematic('@nrwl/nx:app --name=myApp', {projectName: 'proj'});
checkFilesExists(
`proj/tsconfig.json`, `proj/WORKSPACE`, `proj/BUILD.bazel`, `proj/apps/my-app/BUILD.bazel`,
`proj/apps/my-app/src/index.html`, `proj/apps/my-app/src/app/app.module.ts`,
`proj/apps/my-app/src/app/app.component.ts`);
expect(readFile('proj/apps/my-app/src/app/app.module.ts')).toContain('bootstrap: [AppComponent]');
const cliConfig = JSON.parse(readFile('proj/.angular-cli.json'));
expect(cliConfig.apps.length).toEqual(1);
expect(cliConfig.apps[0].name).toEqual('myApp');
expect(cliConfig.apps[0].root).toEqual('apps/my-app/src');
});
it('creates multiple applications in a workspace', () => {
runSchematic('@nrwl/nx:application --name=proj2');
runSchematic('@nrwl/nx:app --name=first', {projectName: 'proj2'});
runSchematic('@nrwl/nx:app --name=second', {projectName: 'proj2'});
const cliConfig = JSON.parse(readFile('proj2/.angular-cli.json'));
expect(cliConfig.apps[0].name).toEqual('first');
expect(cliConfig.apps[0].root).toEqual('apps/first/src');
expect(cliConfig.apps[1].name).toEqual('second');
expect(cliConfig.apps[1].root).toEqual('apps/second/src');
});
});