diff --git a/src/reducers/__tests__/connections.node.js b/src/reducers/__tests__/connections.node.js new file mode 100644 index 000000000..e2d47f05c --- /dev/null +++ b/src/reducers/__tests__/connections.node.js @@ -0,0 +1,27 @@ +/** + * Copyright 2018-present Facebook. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * @format + */ + +import reducer from '../connections'; +import BaseDevice from '../../devices/BaseDevice'; +import type {State} from '../connections'; + +test('REGISTER_DEVICE doesnt remove error', () => { + const initialState: State = reducer(undefined, { + type: 'SERVER_ERROR', + payload: 'something went wrong', + }); + + // Precondition + expect(initialState.error).toEqual('something went wrong'); + + const endState = reducer(initialState, { + type: 'REGISTER_DEVICE', + payload: new BaseDevice('serial', 'physical', 'title'), + }); + + expect(endState.error).toEqual('something went wrong'); +}); diff --git a/src/reducers/connections.js b/src/reducers/connections.js index 0ed7e5be0..987f4a62e 100644 --- a/src/reducers/connections.js +++ b/src/reducers/connections.js @@ -172,7 +172,7 @@ export default function reducer( // select device if none was selected before selectedDevice, ...selection, - error, + error: error || state.error, }; } case 'UNREGISTER_DEVICES': {