Merge pull request #7161 from kuangp/feat/entityLayoutTitle
feat(EntityLayout): display title field if defined
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user