redux-map-gl
Version:
Simplify react-map-gl and redux
151 lines (133 loc) • 3.82 kB
JavaScript
'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();
});