UNPKG

resource-toolkit

Version:

Async and RESTful resource management tool.

90 lines (73 loc) 2.47 kB
import { makeReducerAssets } from '../src'; import { ResourceToolkitError } from '../src/utils'; describe('action factory with plain actions', () => { let userResource; beforeAll(() => { userResource = makeReducerAssets({ name: 'USER', idKey: 'id' }); }); it('has util for creating namespaced and private actions', () => { expect(userResource.makeAction({ my: 'payload' })).toEqual({ type: 'RESOURCE_TOOLKIT__USER', payload: { my: 'payload' }, }); }); it('has action type exposed', () => { expect(userResource.actionType).toBe('RESOURCE_TOOLKIT__USER'); }); it('has action for clearing the current message', () => { const action = userResource.actions.clearCurrentMessage(); const expectedAction = userResource.makeAction({ operation: 'CLEAR_CURRENT_MESSAGE', step: 'SUCCESS', }); expect(action).toEqual(expectedAction); }); it('has action for set reading blindly', () => { const action = userResource.actions.setReading(); const expectedAction = userResource.makeAction({ operation: 'READ', step: 'DOING', identifying: null, }); expect(action).toEqual(expectedAction); }); it('has action for set reading one', () => { const id = 1; const action = userResource.actions.setReading(id); const expectedAction = userResource.makeAction({ operation: 'READ', step: 'DOING', identifying: id, }); expect(action).toEqual(expectedAction); }); it('has action for set reading many', () => { const ids = [1, 2, 3]; const action = userResource.actions.setReading(ids); const expectedAction = userResource.makeAction({ operation: 'READ', step: 'DOING', identifying: ids, }); expect(action).toEqual(expectedAction); }); it('has action for set reading error', () => { const error = new ResourceToolkitError('Some error message'); const action = userResource.actions.setReadError(null, error); const expectedAction = userResource.makeAction({ operation: 'READ', step: 'ERROR', identifying: null, content: error, }); expect(action).toEqual(expectedAction); }); it('has action for clearing all items', () => { const acton = userResource.actions.clearItems(); const expectedAction = userResource.makeAction({ operation: 'CLEAR_ITEMS', step: 'SUCCESS', }); expect(acton).toEqual(expectedAction); }); });