mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
044bea0935
* Chore: Removes strict null checks in ReducerTester * Chore: Fixes strict null errors in ConfigureStore * Chore: Fixes strict null errors in reducer tests * Chore: Fixes strict null errors in reducers tests * Chore: Fixes strict null errors in reducers tests * Chore: Fixes strict null errors in toggleLogActionsMiddleware * Chore: Fixes strict null errors in navModelReducer * Core: Fixes strict null errors in public/app/features/admin/state * Chore: Fixes strict null errors in public/app/features/dashboard/state/reducers.test.ts * Chore: Fixes strict null errors in public/app/features/explore/state/reducers.test.ts * Chore: Fixes strict null errors in public/app/features/datasources/state/reducers.test.ts * Chore: Fixes strict null errors in public/e2e-test/scenarios/templating/templatevariables-crud.test.ts * Chore: Fixes strict null errors in public/app/features/dashboard/containers/DashboardPage.test.tsx
57 lines
1.3 KiB
TypeScript
57 lines
1.3 KiB
TypeScript
import { AnyAction } from 'redux';
|
|
import { createAction } from '@reduxjs/toolkit';
|
|
|
|
import { reducerTester } from './reducerTester';
|
|
|
|
interface DummyState {
|
|
data: string[];
|
|
}
|
|
|
|
const initialState: DummyState = {
|
|
data: [],
|
|
};
|
|
|
|
const dummyAction = createAction<string>('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<DummyState>()
|
|
.givenReducer(mutatingReducer, initialState)
|
|
.whenActionIsDispatched(dummyAction('some string'));
|
|
}).toThrow();
|
|
});
|
|
});
|
|
|
|
describe('when reducer does not mutate state', () => {
|
|
it('then it should not throw', () => {
|
|
expect(() => {
|
|
reducerTester<DummyState>()
|
|
.givenReducer(okReducer, initialState)
|
|
.whenActionIsDispatched(dummyAction('some string'));
|
|
}).not.toThrow();
|
|
});
|
|
});
|
|
});
|