react-native-twopane-navigation
Version:
React Native package for dual screen devices navigation support (Surface Duo)
2 lines • 12 kB
JavaScript
var _interopRequireWildcard=require("@babel/runtime/helpers/interopRequireWildcard");var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _react=_interopRequireWildcard(require("react"));var _onePane=_interopRequireDefault(require("../onePane.methods"));var keyActions=_interopRequireWildcard(require("../../../shared/screenStore/keyStore/key.actions"));var headerActions=_interopRequireWildcard(require("../../../shared/screenStore/headerStore/header.actions"));var paneElementActions=_interopRequireWildcard(require("../../../shared/screenStore/paneElementStore/paneElement.action"));var _interfaces=require("../../../utilities/interfaces");var _key2=require("../../../shared/screenStore/keyStore/key.types");var _header2=require("../../../shared/screenStore/headerStore/header.types");var _paneElement2=require("../../../shared/screenStore/paneElementStore/paneElement.types");var _paneElementMethods=require("../../../shared/screenStore/paneElementStore/tests/paneElement.methods.helpers");var _headerMethods=require("../../../shared/screenStore/headerStore/tests/header.methods.helpers");var _keyMethods=require("../../../shared/screenStore/keyStore/tests/key.methods.helpers");var _appStore=require("../../../appStore");var _jsxFileName="C:\\Users\\adavi\\source\\repos\\react-native-dualscreen\\twopane-navigation\\src\\onePane\\onePaneStore\\tests\\onePane.methods.test.tsx";describe('onePane methods',function(){beforeEach(function(){jest.clearAllMocks();});it('onePane Add with header with merge',function(){var _pushKeySpy$mock$resu,_pushheaderSpy$mock$r,_pushPaneElementsSpy$;var expectedKey=(0,_keyMethods.KeyActionBuilder)(_key2.PUSH_KEY,_interfaces.paneType.ONE,'test1',true);var expectedHeader=(0,_headerMethods.headerActionBuilder)(_header2.PUSH_HEADER,_interfaces.paneType.ONE+"_test1",{title:'test title'});var expectedPaneElement=(0,_paneElementMethods.paneElementActionBuilder)(_paneElement2.PUSH_PANE_ELEMENT,_interfaces.paneType.ONE+"_test1",_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:31,columnNumber:126}}));var pushKeySpy=jest.spyOn(keyActions,'pushKey');var pushheaderSpy=jest.spyOn(headerActions,'pushHeader');var pushPaneElementsSpy=jest.spyOn(paneElementActions,'pushElement');var _onePaneAdd=_onePane.default.Add('test1',_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:38,columnNumber:50}}),{title:'test title'},true);expect(pushKeySpy).toBeCalled();expect(pushheaderSpy).toBeCalled();expect(pushPaneElementsSpy).toBeCalled();expect((_pushKeySpy$mock$resu=pushKeySpy.mock.results.find(function(x){return x.value;}))===null||_pushKeySpy$mock$resu===void 0?void 0:_pushKeySpy$mock$resu.value).toStrictEqual(expectedKey);expect((_pushheaderSpy$mock$r=pushheaderSpy.mock.results.find(function(x){return x.value;}))===null||_pushheaderSpy$mock$r===void 0?void 0:_pushheaderSpy$mock$r.value).toStrictEqual(expectedHeader);expect((_pushPaneElementsSpy$=pushPaneElementsSpy.mock.results.find(function(x){return x.value;}))===null||_pushPaneElementsSpy$===void 0?void 0:_pushPaneElementsSpy$.value).toStrictEqual(expectedPaneElement);});it('onePane Add with header with no merge',function(){var _pushKeySpy$mock$resu2,_pushheaderSpy$mock$r2,_pushPaneElementsSpy$2;var expectedKey=(0,_keyMethods.KeyActionBuilder)(_key2.PUSH_KEY,_interfaces.paneType.ONE,'test2',false);var expectedHeader=(0,_headerMethods.headerActionBuilder)(_header2.PUSH_HEADER,_interfaces.paneType.ONE+"_test2",{title:'test title'});var expectedPaneElement=(0,_paneElementMethods.paneElementActionBuilder)(_paneElement2.PUSH_PANE_ELEMENT,_interfaces.paneType.ONE+"_test2",_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:55,columnNumber:126}}));var pushKeySpy=jest.spyOn(keyActions,'pushKey');var pushheaderSpy=jest.spyOn(headerActions,'pushHeader');var pushPaneElementsSpy=jest.spyOn(paneElementActions,'pushElement');var _onePaneAdd=_onePane.default.Add('test2',_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:62,columnNumber:50}}),{title:'test title'});expect(pushKeySpy).toBeCalled();expect(pushheaderSpy).toBeCalled();expect(pushPaneElementsSpy).toBeCalled();expect((_pushKeySpy$mock$resu2=pushKeySpy.mock.results.find(function(x){return x.value;}))===null||_pushKeySpy$mock$resu2===void 0?void 0:_pushKeySpy$mock$resu2.value).toStrictEqual(expectedKey);expect((_pushheaderSpy$mock$r2=pushheaderSpy.mock.results.find(function(x){return x.value;}))===null||_pushheaderSpy$mock$r2===void 0?void 0:_pushheaderSpy$mock$r2.value).toStrictEqual(expectedHeader);expect((_pushPaneElementsSpy$2=pushPaneElementsSpy.mock.results.find(function(x){return x.value;}))===null||_pushPaneElementsSpy$2===void 0?void 0:_pushPaneElementsSpy$2.value).toStrictEqual(expectedPaneElement);});it('onePane Add no header with merge',function(){var _pushKeySpy$mock$resu3,_pushPaneElementsSpy$3;var expectedKey=(0,_keyMethods.KeyActionBuilder)(_key2.PUSH_KEY,_interfaces.paneType.ONE,'test3',true);var expectedPaneElement=(0,_paneElementMethods.paneElementActionBuilder)(_paneElement2.PUSH_PANE_ELEMENT,_interfaces.paneType.ONE+"_test3",_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:77,columnNumber:126}}));var pushKeySpy=jest.spyOn(keyActions,'pushKey');var pushheaderSpy=jest.spyOn(headerActions,'pushHeader');var pushPaneElementsSpy=jest.spyOn(paneElementActions,'pushElement');var _onePaneAdd=_onePane.default.Add('test3',_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:85,columnNumber:50}}),undefined,true);expect(pushKeySpy).toBeCalled();expect(pushheaderSpy).not.toBeCalled();expect(pushPaneElementsSpy).toBeCalled();expect((_pushKeySpy$mock$resu3=pushKeySpy.mock.results.find(function(x){return x.value;}))===null||_pushKeySpy$mock$resu3===void 0?void 0:_pushKeySpy$mock$resu3.value).toStrictEqual(expectedKey);expect((_pushPaneElementsSpy$3=pushPaneElementsSpy.mock.results.find(function(x){return x.value;}))===null||_pushPaneElementsSpy$3===void 0?void 0:_pushPaneElementsSpy$3.value).toStrictEqual(expectedPaneElement);});it('onePane Add with no header with no merge',function(){var _pushKeySpy$mock$resu4,_pushPaneElementsSpy$4;var expectedKey=(0,_keyMethods.KeyActionBuilder)(_key2.PUSH_KEY,_interfaces.paneType.ONE,'test4',false);var expectedPaneElement=(0,_paneElementMethods.paneElementActionBuilder)(_paneElement2.PUSH_PANE_ELEMENT,_interfaces.paneType.ONE+"_test4",_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:99,columnNumber:126}}));var pushKeySpy=jest.spyOn(keyActions,'pushKey');var pushheaderSpy=jest.spyOn(headerActions,'pushHeader');var pushPaneElementsSpy=jest.spyOn(paneElementActions,'pushElement');var _onePaneAdd=_onePane.default.Add('test4',_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:106,columnNumber:50}}));expect(pushKeySpy).toBeCalled();expect(pushPaneElementsSpy).toBeCalled();expect(pushheaderSpy).not.toBeCalled();expect((_pushKeySpy$mock$resu4=pushKeySpy.mock.results.find(function(x){return x.value;}))===null||_pushKeySpy$mock$resu4===void 0?void 0:_pushKeySpy$mock$resu4.value).toStrictEqual(expectedKey);expect((_pushPaneElementsSpy$4=pushPaneElementsSpy.mock.results.find(function(x){return x.value;}))===null||_pushPaneElementsSpy$4===void 0?void 0:_pushPaneElementsSpy$4.value).toStrictEqual(expectedPaneElement);});it('onePane AddOrMoveToFront add called',function(){var pushKeySpy=jest.spyOn(keyActions,'pushKey');var pushheaderSpy=jest.spyOn(headerActions,'pushHeader');var pushPaneElementsSpy=jest.spyOn(paneElementActions,'pushElement');var moveToFrontSpy=jest.spyOn(keyActions,'moveToFront');var _onePaneAdd=_onePane.default.AddOrMoveToFront('test5',_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:127,columnNumber:63}}),{title:'test title'},true);expect(pushKeySpy).toBeCalled();expect(pushheaderSpy).toBeCalled();expect(pushPaneElementsSpy).toBeCalled();expect(moveToFrontSpy).not.toBeCalled();});it('onePane AddOrMoveToFront moveToFront called',function(){var pushKeySpy=jest.spyOn(keyActions,'pushKey');var pushheaderSpy=jest.spyOn(headerActions,'pushHeader');var pushPaneElementsSpy=jest.spyOn(paneElementActions,'pushElement');var moveToFrontSpy=jest.spyOn(keyActions,'moveToFront');var _onePaneAdd=_onePane.default.AddOrMoveToFront('test1',_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:146,columnNumber:63}}),{title:'test title'},true);expect(pushKeySpy).not.toBeCalled();expect(pushheaderSpy).not.toBeCalled();expect(pushPaneElementsSpy).not.toBeCalled();expect(moveToFrontSpy).toBeCalled();});it('onePane mergeToOppositePane called',function(){var moveToFrontSpy=jest.spyOn(keyActions,'changeScreen');var _onePaneAdd=_onePane.default.mergeToOppositePane();var keyStore=_appStore.store.getState().KeyReducers;expect(moveToFrontSpy).toBeCalled();expect(moveToFrontSpy).toBeCalledTimes(3);expect(keyStore.keys.filter(function(val){return val.screen===_interfaces.paneType.TWO;}).length).toEqual(3);expect(keyStore.keys.filter(function(val){return val.screen===_interfaces.paneType.ONE;}).length).toEqual(2);});it('onePaneBackToHome calls BackToHome',function(){var keyState=(0,_keyMethods.mockKeyState)(_interfaces.paneType.ONE,false);keyState.keys.map(function(val){return _appStore.store.dispatch(keyActions.pushKey(val.screen,val.key,val.isMerge));});var popToFrontSpy=jest.spyOn(keyActions,'popToFront');var removeHeaderKeyBySpy=jest.spyOn(headerActions,'removeHeaderByKey');var removePaneElementBySpy=jest.spyOn(paneElementActions,'removePaneElementByKey');var _onePaneBackToHome=_onePane.default.BackToHome();expect(popToFrontSpy).toBeCalled();expect(popToFrontSpy).toBeCalledTimes(1);expect(removeHeaderKeyBySpy).toBeCalled();expect(removeHeaderKeyBySpy).toBeCalledTimes(4);expect(removePaneElementBySpy).toBeCalled();expect(removePaneElementBySpy).toBeCalledTimes(4);});it('onePaneGoBack calls GoBack',function(){var keyState=(0,_keyMethods.mockKeyState)(_interfaces.paneType.ONE,false,_interfaces.paneType.ONE+"_");keyState.keys.map(function(val){return _appStore.store.dispatch(keyActions.pushKey(val.screen,val.key,val.isMerge));});var expectedState={keys:[{key:'ONE_test2',isMerge:false,screen:_interfaces.paneType.ONE},{key:'ONE_ONE_first',isMerge:false,screen:_interfaces.paneType.ONE},{key:'ONE_ONE_second',isMerge:false,screen:_interfaces.paneType.ONE},{key:'ONE_test3',isMerge:true,screen:_interfaces.paneType.TWO},{key:'ONE_test5',isMerge:true,screen:_interfaces.paneType.TWO},{key:'ONE_test1',isMerge:true,screen:_interfaces.paneType.TWO}]};var popScreenSpy=jest.spyOn(keyActions,'popScreen');var removeHeaderKeyBySpy=jest.spyOn(headerActions,'removeHeaderByKey');var removePaneElementBySpy=jest.spyOn(paneElementActions,'removePaneElementByKey');var _onePaneBack=_onePane.default.GoBack();var finalState=_appStore.store.getState().KeyReducers;expect(finalState).toStrictEqual(expectedState);expect(popScreenSpy).toBeCalled();expect(popScreenSpy).toBeCalledTimes(1);expect(removeHeaderKeyBySpy).toBeCalled();expect(removeHeaderKeyBySpy).toBeCalledTimes(1);expect(removePaneElementBySpy).toBeCalled();expect(removePaneElementBySpy).toBeCalledTimes(1);});it('replacePane calls',function(){var replacePaneElementSpy=jest.spyOn(paneElementActions,'replacePaneElement');var _onePaneBack=_onePane.default.ReplacePane('test',_react.default.createElement(_react.Fragment,{__source:{fileName:_jsxFileName,lineNumber:238,columnNumber:58}}));expect(replacePaneElementSpy).toBeCalled();expect(replacePaneElementSpy).toBeCalledTimes(1);});it('ReplaceHeader calls',function(){var replaceHeaderSpy=jest.spyOn(headerActions,'replaceHeader');var _onePaneBack=_onePane.default.ReplaceHeader('test',{title:'test'});expect(replaceHeaderSpy).toBeCalled();expect(replaceHeaderSpy).toBeCalledTimes(1);});});
//# sourceMappingURL=onePane.methods.test.js.map