import { OrderedMap as ImmutableOrderedMap } from 'immutable'; import { __stub } from 'soapbox/api'; import { mockStore, rootState } from 'soapbox/jest/test-helpers'; import { normalizeNotification } from 'soapbox/normalizers'; import { markReadNotifications } from './notifications'; describe('markReadNotifications()', () => { it('fires off marker when top notification is newer than lastRead', async() => { __stub((mock) => mock.onPost('/api/v1/markers').reply(200, {})); const items = ImmutableOrderedMap({ '10': normalizeNotification({ id: '10' }), }); const state = rootState .set('me', '123') .setIn(['notifications', 'lastRead'], '9') .setIn(['notifications', 'items'], items); const store = mockStore(state); const expectedActions = [{ type: 'MARKER_SAVE_REQUEST', marker: { notifications: { last_read_id: '10', }, }, }]; store.dispatch(markReadNotifications()); const actions = store.getActions(); expect(actions).toEqual(expectedActions); }); });