UNPKG

react-url-query

Version:

A library for managing state through query parameters in the URL in React. Works well with or without Redux and React Router.

60 lines (45 loc) 2.4 kB
'use strict'; var _urlQueryReducer = require('../urlQueryReducer'); var _urlQueryReducer2 = _interopRequireDefault(_urlQueryReducer); var _UrlUpdateTypes = require('../../UrlUpdateTypes'); var _UrlUpdateTypes2 = _interopRequireDefault(_UrlUpdateTypes); var _updateUrlQueryFromAction = require('../updateUrlQueryFromAction'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // mock this module so we can test if it as called with correct args jest.mock('../updateUrlQueryFromAction'); it('reduces replaceIn', function () { var action = { meta: { updateType: _UrlUpdateTypes2.default.replaceIn } }; (0, _urlQueryReducer2.default)(action, 'location'); expect(_updateUrlQueryFromAction.replaceInUrlQueryFromAction).toBeCalledWith(action, 'location'); }); it('reduces pushIn', function () { var action = { meta: { updateType: _UrlUpdateTypes2.default.pushIn } }; (0, _urlQueryReducer2.default)(action, 'location'); expect(_updateUrlQueryFromAction.pushInUrlQueryFromAction).toBeCalledWith(action, 'location'); }); it('reduces replace', function () { var action = { meta: { updateType: _UrlUpdateTypes2.default.replace } }; (0, _urlQueryReducer2.default)(action, 'location'); expect(_updateUrlQueryFromAction.replaceUrlQueryFromAction).toBeCalledWith(action, 'location'); }); it('reduces push', function () { var action = { meta: { updateType: _UrlUpdateTypes2.default.push } }; (0, _urlQueryReducer2.default)(action, 'location'); expect(_updateUrlQueryFromAction.pushUrlQueryFromAction).toBeCalledWith(action, 'location'); }); it('reduces multiReplaceIn', function () { var action = { meta: { updateType: _UrlUpdateTypes2.default.multiReplaceIn } }; (0, _urlQueryReducer2.default)(action, 'location'); expect(_updateUrlQueryFromAction.multiReplaceInUrlQueryFromAction).toBeCalledWith(action, 'location'); }); it('reduces multiPushIn', function () { var action = { meta: { updateType: _UrlUpdateTypes2.default.multiPushIn } }; (0, _urlQueryReducer2.default)(action, 'location'); expect(_updateUrlQueryFromAction.multiPushInUrlQueryFromAction).toBeCalledWith(action, 'location'); }); it('does not fail with nully action', function () { (0, _urlQueryReducer2.default)(undefined, 'location'); }); it('does not fail with action with no meta', function () { (0, _urlQueryReducer2.default)({}, 'location'); });