From a778384783f256b3de916d33d9b640a6efb43239 Mon Sep 17 00:00:00 2001 From: Seth Davenport Date: Fri, 9 Jun 2017 12:46:40 -0400 Subject: [PATCH] Update to 6.4.5, add a test to exercise #419 --- package.json | 2 +- src/app/store/module.spec.ts | 34 ++++++++++++++++++++++++++++++++++ src/app/store/module.ts | 4 +++- 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 src/app/store/module.spec.ts diff --git a/package.json b/package.json index 6d63ee2..3c38f6a 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-redux/form": "^6.3.0", "@angular-redux/router": "^6.3.0", - "@angular-redux/store": "^6.4.1", + "@angular-redux/store": "6.4.5", "@angular/common": "^4.1.0", "@angular/compiler": "^4.1.0", "@angular/core": "^4.1.0", diff --git a/src/app/store/module.spec.ts b/src/app/store/module.spec.ts new file mode 100644 index 0000000..d3d328c --- /dev/null +++ b/src/app/store/module.spec.ts @@ -0,0 +1,34 @@ +import { NgRedux, DevToolsExtension } from '@angular-redux/store'; +import { NgReduxTestingModule, MockNgRedux } from '@angular-redux/store/testing'; +import { TestBed, async, getTestBed } from '@angular/core/testing'; +import { StoreModule } from './module'; +import { IAppState } from './model'; +import { RootEpics } from './epics'; + +describe('Store Module', () => { + let mockNgRedux: NgRedux; + let devTools: DevToolsExtension; + let mockEpics: RootEpics; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ NgReduxTestingModule ], + }).compileComponents().then(() => { + const testbed = getTestBed(); + + mockEpics = { + createEpics() { return [] } + } as RootEpics; + + devTools = testbed.get(DevToolsExtension); + mockNgRedux = MockNgRedux.getInstance(); + }); + })); + + it('should configure the store when the module is loaded', async(() => { + const configureSpy = spyOn(MockNgRedux.getInstance(), 'configureStore'); + const instance = new StoreModule(mockNgRedux, devTools, null, mockEpics); + + expect(configureSpy).toHaveBeenCalled(); + })); +}); diff --git a/src/app/store/module.ts b/src/app/store/module.ts index 2151439..dfafdf9 100644 --- a/src/app/store/module.ts +++ b/src/app/store/module.ts @@ -38,7 +38,9 @@ export class StoreModule { devTools.isEnabled() ? [ devTools.enhancer() ] : []); // Enable syncing of Angular router state with our Redux store. - ngReduxRouter.initialize(); + if (ngReduxRouter) { + ngReduxRouter.initialize(); + } // Enable syncing of Angular form state with our Redux store. provideReduxForms(store);