From 1cd13b639efcfabf183740bb6634023c66d5ce99 Mon Sep 17 00:00:00 2001 From: Dana <152518854+dana-gill@users.noreply.github.com> Date: Tue, 25 Feb 2025 14:43:45 +0100 Subject: [PATCH] fix(editor): Parse out nodeType (#13474) --- packages/editor-ui/src/api/schemaPreview.ts | 4 +- .../src/api/test/schemaPreview.test.ts | 41 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 packages/editor-ui/src/api/test/schemaPreview.test.ts diff --git a/packages/editor-ui/src/api/schemaPreview.ts b/packages/editor-ui/src/api/schemaPreview.ts index 9250993929..cc08067255 100644 --- a/packages/editor-ui/src/api/schemaPreview.ts +++ b/packages/editor-ui/src/api/schemaPreview.ts @@ -18,7 +18,9 @@ export const getSchemaPreview = async ( ): Promise => { const { nodeType, version, resource, operation } = options; const versionString = padVersion(version); - const path = ['schemas', nodeType, versionString, resource, operation].filter(Boolean).join('/'); + const path = ['schemas', nodeType.replace('@n8n/', ''), versionString, resource, operation] + .filter(Boolean) + .join('/'); return await request({ method: 'GET', baseURL: baseUrl, diff --git a/packages/editor-ui/src/api/test/schemaPreview.test.ts b/packages/editor-ui/src/api/test/schemaPreview.test.ts new file mode 100644 index 0000000000..ed24ebfe0c --- /dev/null +++ b/packages/editor-ui/src/api/test/schemaPreview.test.ts @@ -0,0 +1,41 @@ +import { getSchemaPreview } from '../schemaPreview'; +import * as apiUtils from '@/utils/apiUtils'; + +describe('schemaPreview', () => { + afterEach(() => { + vi.resetAllMocks(); + }); + + vi.mock('@/utils/apiUtils', () => ({ + request: vi.fn().mockResolvedValue({ test: 'test' }), + })); + + it('should return schema preview', async () => { + const response = await getSchemaPreview('http://test.com', { + nodeType: 'n8n-nodes-base.asana', + version: 1, + resource: 'resource', + operation: 'operation', + }); + + expect(response).toEqual({ test: 'test' }); + }); + + it('should parse out nodeType', async () => { + const spy = vi.spyOn(apiUtils, 'request'); + + await getSchemaPreview('http://test.com', { + nodeType: '@n8n/n8n-nodes-base.asana', + version: 1, + resource: 'resource', + operation: 'operation', + }); + + expect(spy).toHaveBeenCalledWith({ + method: 'GET', + baseURL: 'http://test.com', + endpoint: 'schemas/n8n-nodes-base.asana/1.0.0/resource/operation.json', + withCredentials: false, + }); + }); +});