From 1d6cf554c635fcc4a85df9756e65ddaa473079ac Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 13 Aug 2024 15:11:53 +0200 Subject: [PATCH] feat: added api-reports Signed-off-by: blam --- packages/frontend-test-utils/api-report.md | 8 +- .../src/app/renderInTestApp.tsx | 86 +++++++++---------- 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/packages/frontend-test-utils/api-report.md b/packages/frontend-test-utils/api-report.md index 3aa9069219..2c16028dd1 100644 --- a/packages/frontend-test-utils/api-report.md +++ b/packages/frontend-test-utils/api-report.md @@ -27,6 +27,7 @@ import { RouteRef } from '@backstage/frontend-plugin-api'; import { TestApiProvider } from '@backstage/test-utils'; import { TestApiProviderProps } from '@backstage/test-utils'; import { TestApiRegistry } from '@backstage/test-utils'; +import { testingLibraryDomTypesQueries } from '@testing-library/dom/types/queries'; import { withLogCollector } from '@backstage/test-utils'; // @public (undocumented) @@ -62,8 +63,10 @@ export class ExtensionTester { // (undocumented) data(ref: ExtensionDataRef): T | undefined; // (undocumented) - query(id: string | ExtensionDefinition): ExtensionQuery; + element(): JSX.Element; // (undocumented) + query(id: string | ExtensionDefinition): ExtensionQuery; + // @deprecated (undocumented) render(options?: { config?: JsonObject }): RenderResult; } @@ -97,7 +100,7 @@ export { registerMswTestHooks }; export function renderInTestApp( element: JSX.Element, options?: TestAppOptions, -): RenderResult; +): RenderResult; // @public @deprecated (undocumented) export function setupRequestMockHandlers(worker: { @@ -117,6 +120,7 @@ export type TestAppOptions = { mountedRoutes?: { [path: string]: RouteRef; }; + config?: JsonObject; }; export { withLogCollector }; diff --git a/packages/frontend-test-utils/src/app/renderInTestApp.tsx b/packages/frontend-test-utils/src/app/renderInTestApp.tsx index 85cf1c626c..73a29ce0bb 100644 --- a/packages/frontend-test-utils/src/app/renderInTestApp.tsx +++ b/packages/frontend-test-utils/src/app/renderInTestApp.tsx @@ -23,7 +23,6 @@ import { JsonObject } from '@backstage/types'; import { createExtension, createExtensionOverrides, - createRouterExtension, ExtensionDefinition, coreExtensionData, RouteRef, @@ -31,6 +30,7 @@ import { createExtensionInput, IconComponent, createNavItemExtension, + RouterBlueprint, } from '@backstage/frontend-plugin-api'; /** @@ -86,30 +86,32 @@ const TestAppNavExtension = createExtension({ name: 'nav', attachTo: { id: 'app/layout', input: 'nav' }, inputs: { - items: createExtensionInput({ - target: createNavItemExtension.targetDataRef, - }), - }, - output: { - element: coreExtensionData.reactElement, + items: createExtensionInput([createNavItemExtension.targetDataRef]), }, + output: [coreExtensionData.reactElement], factory({ inputs }) { - return { - element: ( + return [ + coreExtensionData.reactElement( + , ), - }; + ]; }, }); @@ -118,35 +120,29 @@ const TestAppNavExtension = createExtension({ * Renders the given element in a test app, for use in unit tests. */ export function renderInTestApp( - element: JSX.Element | { extensions: ExtensionDefinition[] }, + element: JSX.Element, options?: TestAppOptions, ) { - const extensions: Array> = - 'extensions' in element - ? element.extensions - : [ - createExtension({ - namespace: 'test', - attachTo: { id: 'app/routes', input: 'routes' }, - output: [ - coreExtensionData.reactElement, - coreExtensionData.routePath, - ], - factory: () => { - return [ - coreExtensionData.reactElement(element), - coreExtensionData.routePath('/'), - ]; - }, - }), - createRouterExtension({ - namespace: 'test', - Component: ({ children }) => ( - {children} - ), - }), - TestAppNavExtension, + const extensions: Array> = [ + createExtension({ + namespace: 'test', + attachTo: { id: 'app/routes', input: 'routes' }, + output: [coreExtensionData.reactElement, coreExtensionData.routePath], + factory: () => { + return [ + coreExtensionData.reactElement(element), + coreExtensionData.routePath('/'), ]; + }, + }), + RouterBlueprint.make({ + namespace: 'test', + params: { + Component: ({ children }) => {children}, + }, + }), + TestAppNavExtension, + ]; if (options?.mountedRoutes) { for (const [path, routeRef] of Object.entries(options.mountedRoutes)) {