Account for case when builder is external, entity exists, but docs do not.
Co-authored-by: Jeremy Guarini <jguarini@paloaltonetworks.com> Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
This commit is contained in:
+22
@@ -148,6 +148,28 @@ describe('<TechDocsReaderPageHeader />', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should not render a techdocs page header if techdocs metadata is missing', async () => {
|
||||
getTechDocsMetadata.mockResolvedValue(undefined);
|
||||
|
||||
await act(async () => {
|
||||
const rendered = await renderInTestApp(
|
||||
<Wrapper>
|
||||
<TechDocsReaderPageHeader />
|
||||
</Wrapper>,
|
||||
{
|
||||
mountedRoutes: {
|
||||
'/catalog/:namespace/:kind/:name/*': entityRouteRef,
|
||||
'/docs': rootRouteRef,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(rendered.container.innerHTML).not.toContain('header');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should render a link back to the component page', async () => {
|
||||
getTechDocsMetadata.mockResolvedValue(mockTechDocsMetadata);
|
||||
|
||||
|
||||
+6
-4
@@ -71,7 +71,7 @@ export const TechDocsReaderPageHeader = (
|
||||
subtitle,
|
||||
setSubtitle,
|
||||
entityRef,
|
||||
metadata: { value: metadata },
|
||||
metadata: { value: metadata, loading: metadataLoading },
|
||||
entityMetadata: { value: entityMetadata, loading: entityMetadataLoading },
|
||||
} = useTechDocsReaderPage();
|
||||
|
||||
@@ -146,9 +146,11 @@ export const TechDocsReaderPageHeader = (
|
||||
</>
|
||||
);
|
||||
|
||||
// If there is no entity metadata, there's no reason to show the header.
|
||||
if (entityMetadataLoading === false && entityMetadata === undefined)
|
||||
return null;
|
||||
// If there is no entity or techdocs metadata, there's no reason to show the
|
||||
// header (hides the header on 404 error pages).
|
||||
const noEntMetadata = !entityMetadataLoading && entityMetadata === undefined;
|
||||
const noTdMetadata = !metadataLoading && metadata === undefined;
|
||||
if (noEntMetadata || noTdMetadata) return null;
|
||||
|
||||
return (
|
||||
<Header
|
||||
|
||||
Reference in New Issue
Block a user