diff --git a/src/redux/modules/settings.js b/src/redux/modules/settings.js index d4ab64b..f8f1a19 100644 --- a/src/redux/modules/settings.js +++ b/src/redux/modules/settings.js @@ -19,7 +19,10 @@ const initialState = { passcodeHash: null, }; -const requirePasscode = (state = initialState.requirePasscode, action) => { +export const requirePasscode = ( + state = initialState.requirePasscode, + action +) => { switch (action.type) { case TOGGLE_PASSCODE_REQUIREMENT: return !state; @@ -30,7 +33,7 @@ const requirePasscode = (state = initialState.requirePasscode, action) => { } }; -const passcodeHash = (state = initialState.passcodeHash, action) => { +export const passcodeHash = (state = initialState.passcodeHash, action) => { switch (action.type) { case SET_PASSCODE: return action.passcodeHash; diff --git a/src/redux/modules/settings.test.js b/src/redux/modules/settings.test.js new file mode 100644 index 0000000..a8ff59f --- /dev/null +++ b/src/redux/modules/settings.test.js @@ -0,0 +1,51 @@ +import { + requirePasscode as requirePasscodeReducer, + passcodeHash as passcodeHashReducer, + togglePasscodeRequirement, + resetPasscodeSettings, + setPasscode, +} from './settings'; + +describe('settings modules test', () => { + describe('requirePasscode reducer test', () => { + it('should return the initial state', () => { + expect(requirePasscodeReducer(undefined, {})).toEqual(false); + }); + + it('should set the requirement to false if previously true', () => { + expect(requirePasscodeReducer(true, togglePasscodeRequirement())).toEqual( + false + ); + }); + + it('should set the requirement to true if previously false', () => { + expect( + requirePasscodeReducer(false, togglePasscodeRequirement()) + ).toEqual(true); + }); + + it('should reset the requirement correctly (reset to initial state)', () => { + expect(requirePasscodeReducer(true, resetPasscodeSettings())).toEqual( + false + ); + }); + }); + + describe('passcodeHash reducer test', () => { + it('should return the initial state', () => { + expect(passcodeHashReducer(undefined, {})).toEqual(null); + }); + + it('should set the hash correctly', () => { + expect( + passcodeHashReducer(undefined, setPasscode('HASH HASH BABY')) + ).toEqual('HASH HASH BABY'); + }); + + it('should reset passcode hash correctly (reset to initial state)', () => { + expect( + passcodeHashReducer('HASH HASH BABY', resetPasscodeSettings()) + ).toEqual(null); + }); + }); +});