Skip to content

Commit d8048e5

Browse files
Alan Agiusalexeagle
Alan Agius
authored andcommitted
test: add test for invalid lazy routes in AOT
1 parent 36c2423 commit d8048e5

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

packages/angular_devkit/build_angular/test/browser/lazy-module_spec_large.ts

+25-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
import { DefaultTimeout, runTargetSpec } from '@angular-devkit/architect/testing';
9+
import { DefaultTimeout, TestLogger, runTargetSpec } from '@angular-devkit/architect/testing';
1010
import { join, normalize } from '@angular-devkit/core';
11-
import { tap } from 'rxjs/operators';
11+
import { take, tap } from 'rxjs/operators';
1212
import { BrowserBuilderSchema } from '../../src';
1313
import { browserTargetSpec, host } from '../utils';
1414

@@ -70,6 +70,7 @@ export const lazyModuleImport: { [path: string]: string } = {
7070
`,
7171
};
7272

73+
// tslint:disable-next-line:no-big-function
7374
describe('Browser Builder lazy modules', () => {
7475

7576
const outputPath = normalize('dist');
@@ -89,6 +90,28 @@ describe('Browser Builder lazy modules', () => {
8990
).toPromise().then(done, done.fail);
9091
});
9192

93+
it('should show error when lazy route is invalid on watch mode AOT', (done) => {
94+
host.writeMultipleFiles(lazyModuleFiles);
95+
host.writeMultipleFiles(lazyModuleImport);
96+
host.replaceInFile(
97+
'src/app/app.module.ts',
98+
'lazy.module#LazyModule',
99+
'invalid.module#LazyModule',
100+
);
101+
102+
const logger = new TestLogger('rebuild-lazy-errors');
103+
const overrides = { watch: true, aot: true };
104+
runTargetSpec(host, browserTargetSpec, overrides, DefaultTimeout, logger).pipe(
105+
tap((buildEvent) => expect(buildEvent.success).toBe(false)),
106+
tap(() => {
107+
expect(logger.includes('Could not resolve module')).toBe(true);
108+
logger.clear();
109+
host.appendToFile('src/main.ts', ' ');
110+
}),
111+
take(2),
112+
).toPromise().then(done, done.fail);
113+
});
114+
92115
it('supports lazy bundle for lazy routes with AOT', (done) => {
93116
host.writeMultipleFiles(lazyModuleFiles);
94117
host.writeMultipleFiles(lazyModuleImport);

0 commit comments

Comments
 (0)