diff --git a/plugins/techdocs/src/reader/components/TechDocsNotFound.test.tsx b/plugins/techdocs/src/reader/components/TechDocsNotFound.test.tsx
index d3c98fec78..c6562ec8ad 100644
--- a/plugins/techdocs/src/reader/components/TechDocsNotFound.test.tsx
+++ b/plugins/techdocs/src/reader/components/TechDocsNotFound.test.tsx
@@ -41,3 +41,20 @@ describe('', (
expect(rendered.getByTestId('go-back-link')).toBeDefined();
});
});
+
+describe('', () => {
+ it('should render with a custom status code, custom error message and go back link', () => {
+ const rendered = render(
+ wrapInTestApp(
+ ,
+ ),
+ );
+ rendered.getByText(/This is a custom error message/i);
+ rendered.getByText(/500/i);
+ rendered.getByText(/Looks like someone dropped the mic!/i);
+ expect(rendered.getByTestId('go-back-link')).toBeDefined();
+ });
+});
diff --git a/plugins/techdocs/src/reader/components/TechDocsNotFound.tsx b/plugins/techdocs/src/reader/components/TechDocsNotFound.tsx
index cdacc1cb7e..04f2106161 100644
--- a/plugins/techdocs/src/reader/components/TechDocsNotFound.tsx
+++ b/plugins/techdocs/src/reader/components/TechDocsNotFound.tsx
@@ -19,9 +19,10 @@ import { ErrorPage, useApi, configApiRef } from '@backstage/core';
type Props = {
errorMessage?: string;
+ statusCode?: number;
};
-export const TechDocsNotFound = ({ errorMessage }: Props) => {
+export const TechDocsNotFound = ({ errorMessage, statusCode }: Props) => {
const techdocsBuilder = useApi(configApiRef).getOptionalString(
'techdocs.builder',
);
@@ -37,7 +38,7 @@ export const TechDocsNotFound = ({ errorMessage }: Props) => {
return (