Skip to content

Commit 46ae171

Browse files
committed
Assigned old state on add layer action
1 parent 92d8e19 commit 46ae171

2 files changed

Lines changed: 32 additions & 5 deletions

File tree

web/client/reducers/__tests__/layers-test.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88
var expect = require('expect');
99
var layers = require('../layers');
10-
const { changeLayerParams } = require('../../actions/layers');
10+
const { changeLayerParams, addLayer } = require('../../actions/layers');
1111

1212

1313
describe('Test the layers reducer', () => {
@@ -490,6 +490,33 @@ describe('Test the layers reducer', () => {
490490
expect(state.groups[0].nodes[1]).toBe("test_id1");
491491
});
492492

493+
it('add new layer and verify old state', () => {
494+
const testAction = addLayer({ group: "test", id: "test_id1" });
495+
496+
const state = layers(
497+
{
498+
flat: [
499+
{
500+
id: "layer"
501+
}
502+
],
503+
settings: {
504+
options: {
505+
opacity: 0.8
506+
}
507+
},
508+
selected: [
509+
"layer"
510+
]
511+
},
512+
testAction
513+
);
514+
515+
expect(state.settings).toExist();
516+
expect(state.selected).toExist();
517+
518+
});
519+
493520
it('remove layer', () => {
494521
let addAction = {
495522
type: "ADD_LAYER",

web/client/reducers/layers.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -228,10 +228,10 @@ function layers(state = { flat: [] }, action) {
228228
newGroups = moveNode(newGroups, newLayer.id, groupId, newLayers, action.foreground);
229229
}
230230
let orderedNewLayers = LayersUtils.sortLayers ? LayersUtils.sortLayers(newGroups, newLayers) : newLayers;
231-
return {
232-
flat: orderedNewLayers,
233-
groups: newGroups
234-
};
231+
return assign({}, state, {
232+
flat: orderedNewLayers,
233+
groups: newGroups
234+
});
235235
}
236236
case REMOVE_LAYER: {
237237
const newGroups = deepRemove(state.groups, action.layerId);

0 commit comments

Comments
 (0)