From 96e9dd2004ed26de39954b2a2fb1ee9f8f6b29b8 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 26 Aug 2024 10:29:11 +0200 Subject: [PATCH] frontend-test-utils: revert extension resolution behavior in tester Signed-off-by: Patrik Oldsberg --- .../src/app/createExtensionTester.tsx | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/packages/frontend-test-utils/src/app/createExtensionTester.tsx b/packages/frontend-test-utils/src/app/createExtensionTester.tsx index 1345edfa1d..c8ab5692f8 100644 --- a/packages/frontend-test-utils/src/app/createExtensionTester.tsx +++ b/packages/frontend-test-utils/src/app/createExtensionTester.tsx @@ -29,6 +29,8 @@ import { JsonArray, JsonObject, JsonValue } from '@backstage/types'; // eslint-disable-next-line @backstage/no-relative-monorepo-imports import { resolveExtensionDefinition } from '../../../frontend-plugin-api/src/wiring/resolveExtensionDefinition'; // eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { toInternalExtensionDefinition } from '../../../frontend-plugin-api/src/wiring/createExtension'; +// eslint-disable-next-line @backstage/no-relative-monorepo-imports import { resolveAppTree } from '../../../frontend-app-api/src/tree/resolveAppTree'; // eslint-disable-next-line @backstage/no-relative-monorepo-imports import { resolveAppNodeSpecs } from '../../../frontend-app-api/src/tree/resolveAppNodeSpecs'; @@ -104,19 +106,20 @@ export class ExtensionTester { ); } - let resolvedExtension; - try { - resolvedExtension = resolveExtensionDefinition(extension); - } catch { - resolvedExtension = resolveExtensionDefinition(extension, { - namespace: 'test', - }); - } + const { name, namespace } = toInternalExtensionDefinition(extension); + + const definition = { + ...extension, + // setting name "test" as fallback + name: !namespace && !name ? 'test' : name, + }; + + const resolvedExtension = resolveExtensionDefinition(definition); this.#extensions.push({ id: resolvedExtension.id, extension: resolvedExtension, - definition: extension, + definition, config: options?.config as JsonValue, }); @@ -140,12 +143,7 @@ export class ExtensionTester { ): ExtensionQuery> { const tree = this.#resolveTree(); - const actualId = this.#extensions.find(e => e.definition === extension)?.id; - if (!actualId) { - throw new Error( - `Unable to query extension as it has not been added to the tester, ${extension}`, - ); - } + const actualId = resolveExtensionDefinition(extension).id; const node = tree.nodes.get(actualId);