diff --git a/web/src/components/deployments-detail-page/deployment-detail/index.test.tsx b/web/src/components/deployments-detail-page/deployment-detail/index.test.tsx
index a728a603b1..a2000dde80 100644
--- a/web/src/components/deployments-detail-page/deployment-detail/index.test.tsx
+++ b/web/src/components/deployments-detail-page/deployment-detail/index.test.tsx
@@ -1,8 +1,9 @@
import userEvent from "@testing-library/user-event";
import { dummyDeployment } from "~/__fixtures__/dummy-deployment";
+import { dummyTrigger } from "~/__fixtures__/dummy-trigger";
import { render, screen, MemoryRouter, waitFor, act } from "~~/test-utils";
import { DeploymentDetail } from ".";
-import { DeploymentStatus } from "~~/model/deployment_pb";
+import { Deployment, DeploymentStatus } from "~~/model/deployment_pb";
import * as deploymentsApi from "~/api/deployments";
import { server } from "~/mocks/server";
@@ -38,6 +39,32 @@ describe("DeploymentDetail", () => {
expect(screen.getByText(dummyDeployment.summary)).toBeInTheDocument();
});
+ it("renders gracefully when commit hash is undefined", async () => {
+ const deploymentWithoutHash: Deployment.AsObject = {
+ ...dummyDeployment,
+ trigger: {
+ ...dummyTrigger,
+ commit: {
+ ...dummyTrigger.commit!,
+ hash: (undefined as unknown) as string,
+ },
+ },
+ };
+
+ render(
+
+
+
+ );
+
+ await waitFor(() => {
+ expect(screen.getByText("SUCCESS")).toBeInTheDocument();
+ });
+ });
+
describe("status: RUNNING", () => {
beforeEach(() => {
render(
diff --git a/web/src/components/deployments-detail-page/deployment-detail/index.tsx b/web/src/components/deployments-detail-page/deployment-detail/index.tsx
index bc18f8208f..1ffb46f08d 100644
--- a/web/src/components/deployments-detail-page/deployment-detail/index.tsx
+++ b/web/src/components/deployments-detail-page/deployment-detail/index.tsx
@@ -275,10 +275,9 @@ export const DeploymentDetail: FC = memo(
target="_blank"
rel="noreferrer"
>
- {`${deployment.trigger.commit.hash.slice(
- 0,
- 7
- )}`}
+ {`${(
+ deployment.trigger.commit.hash ?? ""
+ ).slice(0, 7)}`}