From 2d11521f8cb40757735e6dd317015840799949d7 Mon Sep 17 00:00:00 2001 From: Stephen Glass Date: Mon, 10 Feb 2025 13:02:31 -0500 Subject: [PATCH 1/2] fix home starred entities display Signed-off-by: Stephen Glass --- .changeset/cyan-needles-hear.md | 5 +++++ .../src/homePageComponents/StarredEntities/Content.tsx | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 .changeset/cyan-needles-hear.md diff --git a/.changeset/cyan-needles-hear.md b/.changeset/cyan-needles-hear.md new file mode 100644 index 0000000000..0decabf45b --- /dev/null +++ b/.changeset/cyan-needles-hear.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-home': patch +--- + +The starred entities component uses the entity title or display name if it exists diff --git a/plugins/home/src/homePageComponents/StarredEntities/Content.tsx b/plugins/home/src/homePageComponents/StarredEntities/Content.tsx index bc5e3e2923..ce1810a9d0 100644 --- a/plugins/home/src/homePageComponents/StarredEntities/Content.tsx +++ b/plugins/home/src/homePageComponents/StarredEntities/Content.tsx @@ -73,7 +73,14 @@ export const Content = ({ return ( await catalogApi.getEntitiesByRefs({ entityRefs: [...starredEntities], - fields: ['kind', 'metadata.namespace', 'metadata.name', 'spec.type'], + fields: [ + 'kind', + 'metadata.namespace', + 'metadata.name', + 'spec.type', + 'metadata.title', + 'spec.profile.displayName', + ], }) ).items.filter((e): e is Entity => !!e); }, [catalogApi, starredEntities]); From 8515a1aea79a0ed6ff8df514082f58df5a7c3b4d Mon Sep 17 00:00:00 2001 From: Stephen Glass Date: Fri, 14 Feb 2025 11:34:13 -0500 Subject: [PATCH 2/2] check for expected fields Signed-off-by: Stephen Glass --- .../StarredEntities/Content.test.tsx | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/plugins/home/src/homePageComponents/StarredEntities/Content.test.tsx b/plugins/home/src/homePageComponents/StarredEntities/Content.test.tsx index ad26482961..b2522cda96 100644 --- a/plugins/home/src/homePageComponents/StarredEntities/Content.test.tsx +++ b/plugins/home/src/homePageComponents/StarredEntities/Content.test.tsx @@ -50,7 +50,24 @@ describe('StarredEntitiesContent', () => { mockedApi.toggleStarred('component:default/mock-starred-entity-2'); mockedApi.toggleStarred('component:default/mock-starred-entity-3'); - const mockCatalogApi = catalogApiMock({ entities }); + const mockCatalogApi = catalogApiMock.mock({ + getEntitiesByRefs: jest.fn().mockImplementation(async ({ fields }) => { + const expectedFields = [ + 'kind', + 'metadata.namespace', + 'metadata.name', + 'spec.type', + 'metadata.title', + 'spec.profile.displayName', + ]; + expectedFields.forEach(field => { + expect(fields).toContain(field); + }); + return { + items: entities, + }; + }), + }); const { getByText, queryByText } = await renderInTestApp(