From 652a95b6641e94abdbd54419464fd11611122960 Mon Sep 17 00:00:00 2001 From: John Knox Date: Fri, 7 Feb 2020 09:46:45 -0800 Subject: [PATCH] Fix plugin to plugin deeplinking Summary: Plugin to plugin deeplinking was broken because the state reducer was ignoring the parameter. This fixes it. Reviewed By: jonathoma Differential Revision: D19791230 fbshipit-source-id: 158b3a6278f5e634093c4284018458883e9aa5ca --- src/reducers/__tests__/connections.node.tsx | 10 +++++++++- src/reducers/connections.tsx | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/reducers/__tests__/connections.node.tsx b/src/reducers/__tests__/connections.node.tsx index 2159ad1fe..ef4d765c2 100644 --- a/src/reducers/__tests__/connections.node.tsx +++ b/src/reducers/__tests__/connections.node.tsx @@ -8,7 +8,7 @@ */ import reducer from '../connections'; -import {State} from '../connections'; +import {State, selectPlugin} from '../connections'; import BaseDevice from '../../devices/BaseDevice'; import MacDevice from '../../devices/MacDevice'; import {FlipperDevicePlugin} from '../../plugin'; @@ -119,3 +119,11 @@ test('errors are collected on a by name basis', () => { ] `); }); + +test('selectPlugin sets deepLinkPayload correctly', () => { + const state = reducer( + undefined, + selectPlugin({selectedPlugin: 'myPlugin', deepLinkPayload: 'myPayload'}), + ); + expect(state.deepLinkPayload).toBe('myPayload'); +}); diff --git a/src/reducers/connections.tsx b/src/reducers/connections.tsx index eb08efc3f..69c04ca53 100644 --- a/src/reducers/connections.tsx +++ b/src/reducers/connections.tsx @@ -223,7 +223,7 @@ const reducer = (state: State = INITAL_STATE, action: Actions): State => { } case 'SELECT_PLUGIN': { const {payload} = action; - const {selectedPlugin, selectedApp} = payload; + const {selectedPlugin, selectedApp, deepLinkPayload} = payload; const selectedDevice = payload.selectedDevice || state.selectedDevice; if (!selectDevice) { console.warn('Trying to select a plugin before a device was selected!'); @@ -242,6 +242,7 @@ const reducer = (state: State = INITAL_STATE, action: Actions): State => { userPreferredDevice: selectedDevice ? selectedDevice.title : state.userPreferredDevice, + deepLinkPayload: deepLinkPayload, }); }