From 41990540d0a50505cb098a1b13069038fd8b3591 Mon Sep 17 00:00:00 2001 From: carlosscastro Date: Mon, 5 Apr 2021 15:09:35 -0700 Subject: [PATCH 1/2] Adapters: copy the 'type' passed in the adapter config to fully support adapter schemas --- .../src/pages/botProject/adapters/ExternalAdapterModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterModal.tsx b/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterModal.tsx index c1d1bafe37..65e87245ea 100644 --- a/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterModal.tsx +++ b/Composer/packages/client/src/pages/botProject/adapters/ExternalAdapterModal.tsx @@ -111,7 +111,7 @@ const AdapterModal = (props: Props) => { ...currentSettings.runtimeSettings, adapters: [ ...currentAdapters.filter((a) => a.name != adapterKey), - { name: adapterKey, enabled: true, route: value.route }, + { name: adapterKey, enabled: true, route: value.route, type: value.type ?? adapterKey }, ], }, }); From 530212b5d145b971ca475fcd36810937f2503116 Mon Sep 17 00:00:00 2001 From: carlosscastro Date: Mon, 5 Apr 2021 16:23:35 -0700 Subject: [PATCH 2/2] adapters: update tests part 1 --- .../AdapterSettings.test.tsx | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/Composer/packages/client/__tests__/pages/botProjectsSettings/AdapterSettings.test.tsx b/Composer/packages/client/__tests__/pages/botProjectsSettings/AdapterSettings.test.tsx index a74bbac51b..c55b7ceef3 100644 --- a/Composer/packages/client/__tests__/pages/botProjectsSettings/AdapterSettings.test.tsx +++ b/Composer/packages/client/__tests__/pages/botProjectsSettings/AdapterSettings.test.tsx @@ -34,6 +34,12 @@ const mockSchemas = { description: 'Route', default: 'mockRoute', }, + type: { + type: 'string', + title: 'Type', + description: 'Fully qualified type for the adapter', + default: 'Adapter.Full.Type.Mock', + }, }, }, }, @@ -47,6 +53,7 @@ const mockSchemas = { subtitle: 'Connect to Fake Chat Client', helpLink: 'https://example.com/', order: ['route', 'exampleName'], + hidden: ['type'], }, }, }, @@ -129,20 +136,29 @@ describe('ExternalAdapterSettings', () => { name: 'Adapter.Mock', route: 'mockRoute', enabled: true, + type: 'Adapter.Full.Type.Mock', }, ], }, - 'Adapter.Mock': { exampleName: 'test text 12345', route: 'mockRoute', $kind: 'Adapter.Mock' }, + 'Adapter.Mock': { + exampleName: 'test text 12345', + route: 'mockRoute', + $kind: 'Adapter.Mock', + type: 'Adapter.Full.Type.Mock', + }, }); }); it('disables an adapter', async () => { const initStateWithAdapter = { - runtimeSettings: { adapters: [{ name: 'Adapter.Mock', enabled: true, route: 'mock' }] }, + runtimeSettings: { + adapters: [{ name: 'Adapter.Mock', enabled: true, route: 'mock', type: 'Adapter.Full.Type.Mock' }], + }, 'Adapter.Mock': { exampleName: 'example', route: 'mock', $kind: 'Adapter.Mock', + type: 'Adapter.Full.Type.Mock', }, }; @@ -161,17 +177,22 @@ describe('ExternalAdapterSettings', () => { expect(setSettingsMock).toHaveBeenLastCalledWith( PROJECT_ID, expect.objectContaining({ - runtimeSettings: { adapters: [{ name: 'Adapter.Mock', enabled: false, route: 'mock' }] }, + runtimeSettings: { + adapters: [{ name: 'Adapter.Mock', enabled: false, route: 'mock', type: 'Adapter.Full.Type.Mock' }], + }, }) ); }); it('enables an adapter', async () => { const initStateWithAdapter = { - runtimeSettings: { adapters: [{ name: 'Adapter.Mock', enabled: false, route: 'mock' }] }, + runtimeSettings: { + adapters: [{ name: 'Adapter.Mock', enabled: false, route: 'mock', type: 'Adapter.Full.Type.Mock' }], + }, 'Adapter.Mock': { exampleName: 'example', route: 'mock', + type: 'Adapter.Full.Type.Mock', }, }; @@ -190,7 +211,9 @@ describe('ExternalAdapterSettings', () => { expect(setSettingsMock).toHaveBeenLastCalledWith( PROJECT_ID, expect.objectContaining({ - runtimeSettings: { adapters: [{ name: 'Adapter.Mock', enabled: true, route: 'mock' }] }, + runtimeSettings: { + adapters: [{ name: 'Adapter.Mock', enabled: true, route: 'mock', type: 'Adapter.Full.Type.Mock' }], + }, }) ); });