@nrwl/schematics no longer uses the @ngrx/schematics to generate NgRx feature files. * `ngrx/files/__directory__` templates are used * Templates replicate the simple outputs generated from @ngrx/schematics:feature * Templates add significant Nx enhancements. The following standard files will be scaffolded: * `<feature>.actions.ts` * `<feature>.effects.ts` + `<feature>.effects.spec.ts` * `<feature>.reducer.ts` + `<feature>.reducer.spec.ts` The following new files will also be scaffolded: * `<feature>.selectors.ts` + `<feature>.selectors.spec.ts` Changes include: * Change the action/enums to generate a trio of enums for each *feature*: `Load<Feature>`, `<Feature>Loaded`, and `<Feature>LoadError` * Add code generators for `<feature>.selectors.ts` * Add code generators for unit and integration testing `*.spec.ts` files * Update the public barrel [`index.ts`] when adding ngrx to a library * Use `StoreModule.forFeature()` when adding ngrx feature (without using the `--root` option) * Use the Effect to respond tp `load<Feature>$` and dispatch `<Feature>Loaded` or `<Feature>LoadError` * Update the Action to export `<feature>Actions` map of all action classes * fix `ng-add.test.ts` tests for latest Angular CLI scaffolding * fix `application.spec.ts` expect fails Fixes #472, Fixes #618, Fixes #317, Fixes #561, Refs #380.
32 lines
933 B
TypeScript
32 lines
933 B
TypeScript
import { newApp, newProject, runCLI } from '../utils';
|
|
|
|
describe('ngrx', () => {
|
|
it(
|
|
'should work',
|
|
() => {
|
|
newProject();
|
|
newApp('myapp');
|
|
|
|
// Generate root ngrx state management
|
|
runCLI(
|
|
'generate ngrx users --module=apps/myapp/src/app/app.module.ts --root --collection=@nrwl/schematics'
|
|
);
|
|
|
|
// Generate feature library and ngrx state within that library
|
|
runCLI('g @nrwl/schematics:lib feature-flights --prefix=fl');
|
|
runCLI(
|
|
'generate ngrx flights --module=libs/feature-flights/src/lib/feature-flights.module.ts --collection=@nrwl/schematics'
|
|
);
|
|
|
|
expect(runCLI('build')).toContain('chunk {main} main.js,');
|
|
expect(runCLI('test myapp --no-watch')).toContain(
|
|
'Executed 10 of 10 SUCCESS'
|
|
);
|
|
expect(runCLI('test feature-flights --no-watch')).toContain(
|
|
'Executed 8 of 8 SUCCESS'
|
|
);
|
|
},
|
|
1000000
|
|
);
|
|
});
|