Skip to content

Commit 7e22859

Browse files
authored
fix(web): guard undefined hash in commit detail view and add regression test (#7148)
Signed-off-by: vikash7485 <vikkiraj073@gmail.com>
1 parent ef4bddb commit 7e22859

2 files changed

Lines changed: 31 additions & 5 deletions

File tree

web/src/components/deployments-detail-page/deployment-detail/index.test.tsx

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import userEvent from "@testing-library/user-event";
22
import { dummyDeployment } from "~/__fixtures__/dummy-deployment";
3+
import { dummyTrigger } from "~/__fixtures__/dummy-trigger";
34
import { render, screen, MemoryRouter, waitFor, act } from "~~/test-utils";
45
import { DeploymentDetail } from ".";
5-
import { DeploymentStatus } from "~~/model/deployment_pb";
6+
import { Deployment, DeploymentStatus } from "~~/model/deployment_pb";
67
import * as deploymentsApi from "~/api/deployments";
78
import { server } from "~/mocks/server";
89

@@ -38,6 +39,32 @@ describe("DeploymentDetail", () => {
3839
expect(screen.getByText(dummyDeployment.summary)).toBeInTheDocument();
3940
});
4041

42+
it("renders gracefully when commit hash is undefined", async () => {
43+
const deploymentWithoutHash: Deployment.AsObject = {
44+
...dummyDeployment,
45+
trigger: {
46+
...dummyTrigger,
47+
commit: {
48+
...dummyTrigger.commit!,
49+
hash: (undefined as unknown) as string,
50+
},
51+
},
52+
};
53+
54+
render(
55+
<MemoryRouter>
56+
<DeploymentDetail
57+
deploymentId={dummyDeployment.id}
58+
deployment={deploymentWithoutHash}
59+
/>
60+
</MemoryRouter>
61+
);
62+
63+
await waitFor(() => {
64+
expect(screen.getByText("SUCCESS")).toBeInTheDocument();
65+
});
66+
});
67+
4168
describe("status: RUNNING", () => {
4269
beforeEach(() => {
4370
render(

web/src/components/deployments-detail-page/deployment-detail/index.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,10 +275,9 @@ export const DeploymentDetail: FC<DeploymentDetailProps> = memo(
275275
target="_blank"
276276
rel="noreferrer"
277277
>
278-
{`${deployment.trigger.commit.hash.slice(
279-
0,
280-
7
281-
)}`}
278+
{`${(
279+
deployment.trigger.commit.hash ?? ""
280+
).slice(0, 7)}`}
282281
<OpenInNewIcon
283282
sx={{
284283
fontSize: 16,

0 commit comments

Comments
 (0)