Refactor applyActions() into test_helpers.js

This commit is contained in:
Alex Gleason 2022-03-11 13:55:48 -06:00
parent 7d91bb7ff9
commit 7a7fafc8ed
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
2 changed files with 8 additions and 2 deletions

View file

@ -28,6 +28,7 @@ import {
NOTIFICATIONS_MARK_READ_REQUEST,
} from 'soapbox/actions/notifications';
import { TIMELINE_DELETE } from 'soapbox/actions/timelines';
import { applyActions } from 'soapbox/test_helpers';
import reducer from '../notifications';
@ -128,7 +129,7 @@ describe('notifications reducer', () => {
}];
// Setup by expanding, then calling `NOTIFICATIONS_FILTER_SET`
const result = actions.reduce((state, action) => reducer(state, action), initialState);
const result = applyActions(initialState, actions, reducer);
// Setting the filter wipes notifications
expect(result.items.isEmpty()).toBe(true);
@ -514,7 +515,7 @@ describe('notifications reducer', () => {
}];
// Setup by expanding, then calling `NOTIFICATIONS_FILTER_SET`
const result = actions.reduce((state, action) => reducer(state, action), initialState);
const result = applyActions(initialState, actions, reducer);
expect(result.items.size).toEqual(2);
expect(result.items.get('5')).toBe(undefined);

View file

@ -33,3 +33,8 @@ export const createComponent = (children, props = {}) => {
</Provider>,
);
};
// Apply actions to the state, one at a time
export const applyActions = (state, actions, reducer) => {
return actions.reduce((state, action) => reducer(state, action), state);
};