Merge pull request #19850 from backstage/mob/api-provider

frontend-app-api: implement most bits of AppManager + add sidebar
This commit is contained in:
Patrik Oldsberg
2023-09-11 13:55:09 +02:00
committed by GitHub
23 changed files with 529 additions and 131 deletions
@@ -25,6 +25,7 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@backstage/frontend-app-api": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3"
},
@@ -35,7 +35,7 @@ describe('createPageExtension', () => {
).toEqual({
$$type: 'extension',
id: 'test',
at: 'core.router/routes',
at: 'core.routes/routes',
configSchema: expect.anything(),
disabled: false,
inputs: {},
@@ -88,7 +88,7 @@ describe('createPageExtension', () => {
).toEqual({
$$type: 'extension',
id: 'test',
at: 'core.router/routes',
at: 'core.routes/routes',
configSchema: expect.anything(),
disabled: false,
inputs: {},
@@ -63,7 +63,7 @@ export function createPageExtension<
return createExtension({
id: options.id,
at: options.at ?? 'core.router/routes',
at: options.at ?? 'core.routes/routes',
disabled: options.disabled,
output: {
component: coreExtensionData.reactComponent,
@@ -23,6 +23,7 @@ import { JsonObject } from '@backstage/types';
import { createExtension } from './createExtension';
import { createExtensionDataRef } from './createExtensionDataRef';
import { coreExtensionData } from './coreExtensionData';
import { MockConfigApi } from '@backstage/test-utils';
const nameExtensionDataRef = createExtensionDataRef<string>('name');
@@ -113,17 +114,10 @@ function createTestAppRoot({
plugins: BackstagePlugin[];
config: JsonObject;
}) {
Object.defineProperty(process.env, 'APP_CONFIG', {
value: [
{
data: config,
context: 'test',
},
],
configurable: true,
});
return createApp({ plugins: plugins }).createRoot();
return createApp({
plugins: plugins,
config: new MockConfigApi(config),
}).createRoot();
}
describe('createPlugin', () => {
@@ -143,7 +137,7 @@ describe('createPlugin', () => {
render(
createTestAppRoot({
plugins: [plugin],
config: { app: { extensions: [{ 'core.router': false }] } },
config: { app: { extensions: [{ 'core.layout': false }] } },
}),
);
@@ -169,7 +163,7 @@ describe('createPlugin', () => {
config: {
app: {
extensions: [
{ 'core.router': false },
{ 'core.layout': false },
{
'plugin.catalog.page': {
config: { name: 'CatalogRenamed' },