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
JavaScript
;
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');
});