From ee8d999aacce924010b03f6d133c9247d735d1ae Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 10 Feb 2026 14:28:03 +0100 Subject: [PATCH] backend-test-utils: bring back old alpha solution Signed-off-by: Patrik Oldsberg --- .../backend-test-utils/report-alpha.api.md | 12 ++++++++++- .../services/ActionsRegistryServiceMock.ts | 2 +- .../src/alpha/services/ActionsServiceMock.ts | 2 +- .../alpha/services/alphaCreateServiceMock.ts | 20 +++++++++++++++++++ .../src/alpha/services/index.ts | 1 + 5 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 packages/backend-test-utils/src/alpha/services/alphaCreateServiceMock.ts diff --git a/packages/backend-test-utils/report-alpha.api.md b/packages/backend-test-utils/report-alpha.api.md index 98ab2737a3..ca6f47191d 100644 --- a/packages/backend-test-utils/report-alpha.api.md +++ b/packages/backend-test-utils/report-alpha.api.md @@ -13,7 +13,6 @@ import { JsonObject } from '@backstage/types'; import { JsonValue } from '@backstage/types'; import { LoggerService } from '@backstage/backend-plugin-api'; import { ServiceFactory } from '@backstage/backend-plugin-api'; -import { ServiceMock } from '@backstage/backend-test-utils'; // @alpha (undocumented) export function actionsRegistryServiceMock(options?: { @@ -71,5 +70,16 @@ export class MockActionsRegistry >(options: ActionsRegistryActionOptions): void; } +// @public (undocumented) +export type ServiceMock = { + factory: ServiceFactory; +} & { + [Key in keyof TService]: TService[Key] extends ( + ...args: infer Args + ) => infer Return + ? TService[Key] & jest.MockInstance + : TService[Key]; +}; + // (No @packageDocumentation comment for this package) ``` diff --git a/packages/backend-test-utils/src/alpha/services/ActionsRegistryServiceMock.ts b/packages/backend-test-utils/src/alpha/services/ActionsRegistryServiceMock.ts index ba2c50c001..f23bfa99e6 100644 --- a/packages/backend-test-utils/src/alpha/services/ActionsRegistryServiceMock.ts +++ b/packages/backend-test-utils/src/alpha/services/ActionsRegistryServiceMock.ts @@ -16,7 +16,7 @@ import { mockServices } from '../../services'; import { LoggerService } from '@backstage/backend-plugin-api'; import { MockActionsRegistry } from './MockActionsRegistry'; -import { createServiceMock } from '@backstage/backend-test-utils'; +import { createServiceMock } from './alphaCreateServiceMock'; import { actionsRegistryServiceRef } from '@backstage/backend-plugin-api/alpha'; import { actionsRegistryServiceFactory } from '@backstage/backend-defaults/alpha'; diff --git a/packages/backend-test-utils/src/alpha/services/ActionsServiceMock.ts b/packages/backend-test-utils/src/alpha/services/ActionsServiceMock.ts index f6e0d136c0..7ecc9d7ffb 100644 --- a/packages/backend-test-utils/src/alpha/services/ActionsServiceMock.ts +++ b/packages/backend-test-utils/src/alpha/services/ActionsServiceMock.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { createServiceMock } from '@backstage/backend-test-utils'; +import { createServiceMock } from './alphaCreateServiceMock'; import { actionsServiceRef } from '@backstage/backend-plugin-api/alpha'; import { actionsServiceFactory } from '@backstage/backend-defaults/alpha'; diff --git a/packages/backend-test-utils/src/alpha/services/alphaCreateServiceMock.ts b/packages/backend-test-utils/src/alpha/services/alphaCreateServiceMock.ts new file mode 100644 index 0000000000..9b69167b51 --- /dev/null +++ b/packages/backend-test-utils/src/alpha/services/alphaCreateServiceMock.ts @@ -0,0 +1,20 @@ +/* + * Copyright 2026 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { createServiceMock } from '../../services/createServiceMock'; + +/** @alpha */ +export type { ServiceMock } from '../../services/createServiceMock'; diff --git a/packages/backend-test-utils/src/alpha/services/index.ts b/packages/backend-test-utils/src/alpha/services/index.ts index 2d5ad6ec3f..ac92033ff8 100644 --- a/packages/backend-test-utils/src/alpha/services/index.ts +++ b/packages/backend-test-utils/src/alpha/services/index.ts @@ -17,3 +17,4 @@ export { actionsRegistryServiceMock } from './ActionsRegistryServiceMock'; export { MockActionsRegistry } from './MockActionsRegistry'; export { actionsServiceMock } from './ActionsServiceMock'; +export { type ServiceMock } from './alphaCreateServiceMock';