diff options
Diffstat (limited to 'test/app/inventory/InventoryReducer.test.js')
-rw-r--r-- | test/app/inventory/InventoryReducer.test.js | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/test/app/inventory/InventoryReducer.test.js b/test/app/inventory/InventoryReducer.test.js new file mode 100644 index 0000000..49f8e58 --- /dev/null +++ b/test/app/inventory/InventoryReducer.test.js @@ -0,0 +1,186 @@ +import fetchMock from 'fetch-mock'; +import expect from 'expect'; +import {InventoryActionTypes} from "app/inventory/InventoryConstants"; +import reducer from 'app/inventory/InventoryReducer'; + + + +function verifyStateProducedByReducer(action, currentState, expectedState) { + // when + const actual = reducer(currentState, action); + + // then + expect(actual).toEqual(expectedState); +} + +describe('InventoryReducer', () => { + + afterEach(() => { + fetchMock.restore() + }); + + it('verify store state after TOPOGRAPHIC_QUERY_SUCCESS action', async () => { + + // given + const action = { + type: InventoryActionTypes.TOPOGRAPHIC_QUERY_SUCCESS, + data: { + "plotPoints": { + "keyA": "valueA", + "keyB": "valueB" + } + } + }; + + const expectedState = { + state: "dummy", + mapPlotPoints: { + "keyA": "valueA", + "keyB": "valueB" + } + }; + + + const currentState = {state: "dummy"}; + + verifyStateProducedByReducer(action, currentState, expectedState); + + }); + + it('verify store state after COUNT_BY_ENTITY_SUCCESS action', async () => { + + // given + const action = { + type: InventoryActionTypes.COUNT_BY_ENTITY_SUCCESS, + data: { + "countByType": { + "keyA": "valueA", + "keyB": "valueB" + } + } + }; + + const expectedState = { + state: "dummy", + countByType: { + "keyA": "valueA", + "keyB": "valueB" + } + }; + + const currentState = {state: "dummy"}; + + verifyStateProducedByReducer(action, currentState, expectedState); + }); + + + it('verify store state after COUNT_BY_DATE_SUCCESS action', async () => { + + // given + const action = { + type: InventoryActionTypes.COUNT_BY_DATE_SUCCESS, + data: { + "countByDate": { + "keyA": "valueA", + "keyB": "valueB" + } + } + }; + + const expectedState = { + state: "dummy", + countByDate: { + "keyA": "valueA", + "keyB": "valueB" + } + }; + + const currentState = {state: "dummy"}; + + verifyStateProducedByReducer(action, currentState, expectedState); + }); + + it('verify store state after TOPOGRAPHIC_QUERY_FAILED action', async () => { + + // given + const action = { + type: InventoryActionTypes.TOPOGRAPHIC_QUERY_FAILED, + data: { + severity: "ERROR", + message: "Some error occurred" + } + }; + + const expectedState = { + state: "dummy", + feedbackMsgSeverity: "ERROR", + feedbackMsgText: "Some error occurred" + + }; + + const currentState = {state: "dummy"}; + + verifyStateProducedByReducer(action, currentState, expectedState); + }); + + it('verify store state after COUNT_BY_ENTITY_FAILED action', async () => { + + // given + const action = { + type: InventoryActionTypes.COUNT_BY_ENTITY_FAILED, + data: { + severity: "ERROR", + message: "Some error occurred" + } + }; + + const expectedState = { + state: "dummy", + feedbackMsgSeverity: "ERROR", + feedbackMsgText: "Some error occurred" + + }; + + const currentState = {state: "dummy"}; + + verifyStateProducedByReducer(action, currentState, expectedState); + }); + + it('verify store state after COUNT_BY_DATE_FAILED action', async () => { + + // given + const action = { + type: InventoryActionTypes.COUNT_BY_DATE_FAILED, + data: { + severity: "ERROR", + message: "Some error occurred" + } + }; + + const expectedState = { + state: "dummy", + feedbackMsgSeverity: "ERROR", + feedbackMsgText: "Some error occurred" + + }; + + const currentState = {state: "dummy"}; + + verifyStateProducedByReducer(action, currentState, expectedState); + }); + + it('verify store state after unknown action', async () => { + + // given + const action = { + type: 'unknown', + }; + + const expectedState = {state: "dummy"}; + + const currentState = {state: "dummy"}; + + verifyStateProducedByReducer(action, currentState, expectedState); + }); + +}); |