Merge pull request #7161 from kuangp/feat/entityLayoutTitle

feat(EntityLayout): display title field if defined
This commit is contained in:
Ben Lambert
2021-09-14 10:36:11 +02:00
committed by GitHub
3 changed files with 37 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog': patch
---
Display entity titles on `EntityLayout` if defined
@@ -61,6 +61,36 @@ describe('EntityLayout', () => {
expect(rendered.getByText('tabbed-test-content')).toBeInTheDocument();
});
it('renders the entity title if defined', async () => {
const mockEntityDataWithTitle = {
loading: false,
error: undefined,
entity: {
kind: 'MyKind',
metadata: {
name: 'my-entity',
title: 'My Entity',
},
} as Entity,
};
const rendered = await renderInTestApp(
<ApiProvider apis={mockApis}>
<EntityContext.Provider value={mockEntityDataWithTitle}>
<EntityLayout>
<EntityLayout.Route path="/" title="tabbed-test-title">
<div>tabbed-test-content</div>
</EntityLayout.Route>
</EntityLayout>
</EntityContext.Provider>
</ApiProvider>,
);
expect(rendered.getByText('My Entity')).toBeInTheDocument();
expect(rendered.getByText('tabbed-test-title')).toBeInTheDocument();
expect(rendered.getByText('tabbed-test-content')).toBeInTheDocument();
});
it('renders error message when entity is not found', async () => {
const noEntityData = {
...mockEntityData,
@@ -94,7 +94,8 @@ const headerProps = (
): { headerTitle: string; headerType: string } => {
const kind = paramKind ?? entity?.kind ?? '';
const namespace = paramNamespace ?? entity?.metadata.namespace ?? '';
const name = paramName ?? entity?.metadata.name ?? '';
const name =
entity?.metadata.title ?? paramName ?? entity?.metadata.name ?? '';
return {
headerTitle: `${name}${
namespace && namespace !== ENTITY_DEFAULT_NAMESPACE