Skip to content

Commit 2fc4a09

Browse files
committed
fix(replaceFeature): set featureState to NOT_LOADED when replaceFeature is dispatched
1 parent 830d6c2 commit 2fc4a09

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

src/featureStatesReducer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export default function featureStatesReducer(
1616
[ADD_FEATURE]: (state, {meta: {id}}) => (state[id] ? state : {...state, [id]: 'NOT_LOADED'}),
1717
[LOAD_FEATURE]: (state, {meta: {id}}) => (state[id] && state[id] !== 'LOADED' ? {...state, [id]: 'LOADING'} : state),
1818
[INSTALL_FEATURE]: (state, {meta: {id}}) => (state[id] ? {...state, [id]: 'LOADED'} : state),
19-
[REPLACE_FEATURE]: state => state,
19+
[REPLACE_FEATURE]: (state, {meta: {id}}) => state[id] ? {...state, [id]: 'NOT_LOADED'} : state,
2020
[SET_FEATURE_STATE]: (state, {payload, meta: {id}}) => (state[id] ? {...state, [id]: payload} : state),
2121
[LOAD_INITIAL_FEATURES]: state => mapValues(state, fs => fs === 'LOADED' ? 'LOADING' : fs)
2222
})

test/featureStatesReducerTest.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ describe('featureStatesReducer', () => {
3535
it('handles replaceFeature correctly', () => {
3636
expect(reducer({}, replaceFeature('a', {}))).to.deep.equal({})
3737
expect(reducer({a: 'NOT_LOADED'}, replaceFeature('a', {}))).to.deep.equal({a: 'NOT_LOADED'})
38-
expect(reducer({a: 'LOADED'}, replaceFeature('a', {}))).to.deep.equal({a: 'LOADED'})
38+
expect(reducer({a: 'LOADED'}, replaceFeature('a', {}))).to.deep.equal({a: 'NOT_LOADED'})
3939
})
4040
it('handles setFeatureState correctly', () => {
4141
expect(reducer({}, setFeatureState('a', 'LOADING'))).to.deep.equal({})

0 commit comments

Comments
 (0)