From b937fd61dc391cbae5469538af4b8c0e54aa856d Mon Sep 17 00:00:00 2001 From: Maximilian Heinz Date: Fri, 9 Jun 2017 11:26:58 +0200 Subject: [PATCH 1/2] fix(reduxMockStore): mock store should return Redux.Store instead of own IStore --- types/redux-mock-store/index.d.ts | 15 ++++++--------- types/redux-mock-store/package.json | 5 +++-- types/redux-mock-store/redux-mock-store-tests.ts | 7 +++---- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/types/redux-mock-store/index.d.ts b/types/redux-mock-store/index.d.ts index 9183423bfd..46846cd248 100644 --- a/types/redux-mock-store/index.d.ts +++ b/types/redux-mock-store/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Redux Mock Store v0.0.6 +// Type definitions for Redux Mock Store v0.0.7 // Project: https://github.com/arnaudbenard/redux-mock-store // Definitions by: Marian Palkus , Cap3 // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -6,19 +6,16 @@ /// declare module 'redux-mock-store' { - import * as Redux from 'redux' + import * as Redux from 'redux'; function createMockStore(middlewares?: Redux.Middleware[]): mockStore; - export type mockStore = (state?: T) => IStore; - - export interface IStore { - dispatch(action: any): any; - getState(): T; + interface MockStore { getActions(): any[]; clearActions(): void; - subscribe(listener: Function): Function; } - export default createMockStore + export type mockStore = (state?: T) => Redux.Store & MockStore; + + export default createMockStore; } diff --git a/types/redux-mock-store/package.json b/types/redux-mock-store/package.json index e52256ea90..1c5803bcd8 100644 --- a/types/redux-mock-store/package.json +++ b/types/redux-mock-store/package.json @@ -1,5 +1,6 @@ { "dependencies": { - "redux": "^3.6.0" + "redux": "^3.6.0", + "redux-mock-store": "^1.2.3" } -} \ No newline at end of file +} diff --git a/types/redux-mock-store/redux-mock-store-tests.ts b/types/redux-mock-store/redux-mock-store-tests.ts index 15d51d1f23..0937e70654 100644 --- a/types/redux-mock-store/redux-mock-store-tests.ts +++ b/types/redux-mock-store/redux-mock-store-tests.ts @@ -1,5 +1,5 @@ import * as Redux from 'redux'; -import configureStore, {IStore} from 'redux-mock-store'; +import configureStore from 'redux-mock-store'; // Redux store API tests // The following test are taken from ../redux/redux-tests.ts @@ -26,9 +26,8 @@ function loggingMiddleware() { const storeMock = configureStore([loggingMiddleware]); const initialState = 0 -let store: IStore; -store = storeMock(initialState); +const store = storeMock(initialState); store.subscribe(() => { // ... @@ -44,4 +43,4 @@ store.clearActions(); // actions access without the need to cast var actions2 = store.getActions(); -actions2[10].payload.id; \ No newline at end of file +actions2[10].payload.id; From 9dace9e9bd693a541d6f109159624b47df599738 Mon Sep 17 00:00:00 2001 From: Maximilian Heinz Date: Fri, 9 Jun 2017 12:06:02 +0200 Subject: [PATCH 2/2] refactor(redux-mock-store): extend Redux.Store instead of using intersection --- types/redux-mock-store/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/redux-mock-store/index.d.ts b/types/redux-mock-store/index.d.ts index 46846cd248..e8d4cced5e 100644 --- a/types/redux-mock-store/index.d.ts +++ b/types/redux-mock-store/index.d.ts @@ -10,12 +10,12 @@ declare module 'redux-mock-store' { function createMockStore(middlewares?: Redux.Middleware[]): mockStore; - interface MockStore { + interface MockStore extends Redux.Store { getActions(): any[]; clearActions(): void; } - export type mockStore = (state?: T) => Redux.Store & MockStore; + export type mockStore = (state?: T) => MockStore; export default createMockStore; }