UNPKG

redux-map-gl

Version:

Simplify react-map-gl and redux

151 lines (133 loc) 3.82 kB
'use strict'; var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); var _tape = require('tape'); var _tape2 = _interopRequireDefault(_tape); var _immutable = require('immutable'); var _types = require('../types'); var _types2 = _interopRequireDefault(_types); var _index = require('../index'); var _index2 = _interopRequireDefault(_index); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var fooReducer = function fooReducer(state, action) { return state; }; (0, _tape2.default)('It should export a reducer enhancer', function (t) { var enhancedFoo = (0, _index2.default)(fooReducer); var state = {}; var newState = enhancedFoo(state, { type: 'test' }); t.equal(typeof _index2.default === 'undefined' ? 'undefined' : (0, _typeof3.default)(_index2.default), 'function'); t.equal(typeof enhancedFoo === 'undefined' ? 'undefined' : (0, _typeof3.default)(enhancedFoo), 'function'); t.equal(state, newState); t.end(); }); (0, _tape2.default)('It should export a reducer directly', function (t) { var enhancedFoo = (0, _index.createViewportReducer)(); var state = {}; var newState = enhancedFoo(state, { type: 'test' }); t.equal(typeof _index2.default === 'undefined' ? 'undefined' : (0, _typeof3.default)(_index2.default), 'function'); t.equal(typeof enhancedFoo === 'undefined' ? 'undefined' : (0, _typeof3.default)(enhancedFoo), 'function'); t.equal(state, newState); t.end(); }); (0, _tape2.default)('It should defer to the base reducer', function (t) { var enhancedReducer = (0, _index2.default)(function (state, action) { if (action.type === 'TEST') { return { a: 2 }; } return state; }); var state = { a: 1 }; var newState = enhancedReducer(state, { type: 'TEST' }); t.equal(newState.a, 2); t.end(); }); (0, _tape2.default)('It should change viewport state', function (t) { var enhancedFoo = (0, _index2.default)(fooReducer); var state = { viewport: (0, _immutable.fromJS)({ zoom: 1, latitude: 2, longitude: 3 }) }; debugger; var newState = enhancedFoo(state, { type: _types2.default.CHANGE_VIEWPORT, payload: { mapState: { zoom: 4, latitude: 5, longitude: 6 } } }); t.deepEqual(newState.viewport.toJS(), { zoom: 4, latitude: 5, longitude: 6 }); t.end(); }); (0, _tape2.default)('It should change viewport state for a direct reducer', function (t) { var reducer = (0, _index.createViewportReducer)(); var state = { viewport: (0, _immutable.fromJS)({ zoom: 1, latitude: 2, longitude: 3 }) }; var newState = reducer(state, { type: _types2.default.CHANGE_VIEWPORT, payload: { mapState: { zoom: 4, latitude: 5, longitude: 6 } } }); t.deepEqual(newState.viewport.toJS(), { zoom: 4, latitude: 5, longitude: 6 }); t.end(); }); (0, _tape2.default)('It should set default viewport state', function (t) { var enhancedFoo = (0, _index2.default)(fooReducer, { latitude: 1, longitude: 2 }); var newState = enhancedFoo(undefined, {}); t.deepEqual(newState.viewport.toJS(), { latitude: 1, longitude: 2, zoom: 1, bearing: 0, isDragging: false, startDragLngLat: undefined }); t.end(); }); (0, _tape2.default)('It should set state under any key', function (t) { var enhancedFoo = (0, _index2.default)(fooReducer, { latitude: 1, longitude: 2 }, 'sausages'); var newState = enhancedFoo(undefined, {}); t.deepEqual(newState.sausages.toJS(), { latitude: 1, longitude: 2, zoom: 1, bearing: 0, isDragging: false, startDragLngLat: undefined }); t.end(); });