Skip to content

Commit a3ee102

Browse files
fixup! test(frontend): add tests for RenderSubmittedMessage component
1 parent 75441c3 commit a3ee102

File tree

2 files changed

+37
-44
lines changed

2 files changed

+37
-44
lines changed

frontend/relay-workflows-lib/lib/components/RenderSubmittedMessage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const RenderSubmittedMessageFragment = graphql`
2626
}
2727
`;
2828

29-
interface RenderSubmittedMessagePropsList {
29+
export interface RenderSubmittedMessagePropsList {
3030
result:
3131
| SubmissionGraphQLErrorMessage
3232
| SubmissionNetworkErrorMessage

frontend/relay-workflows-lib/tests/components/RenderSubmittedMessage.test.tsx

Lines changed: 36 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { render, screen } from "@testing-library/react";
22
import "@testing-library/jest-dom";
3-
import { RenderSubmittedMessage } from "../../lib/components/RenderSubmittedMessage";
3+
import {
4+
RenderSubmittedMessage,
5+
RenderSubmittedMessagePropsList,
6+
} from "../../lib/components/RenderSubmittedMessage";
47
import { RelayEnvironmentProvider, useFragment } from "react-relay";
58
import { getRelayEnvironment } from "dashboard/src/RelayEnvironment";
69
import { MemoryRouter } from "react-router-dom";
@@ -18,11 +21,22 @@ vi.mock("react-relay", async () => {
1821
});
1922

2023
describe("RenderSubmittedMessage", () => {
21-
const environment = async () => {
22-
return await getRelayEnvironment();
23-
};
2424
const user = userEvent.setup();
2525

26+
const renderComponent = async (props: RenderSubmittedMessagePropsList) => {
27+
const environment = await getRelayEnvironment();
28+
render(
29+
<MemoryRouter
30+
initialEntries={["/templates/mock-workflow"]}
31+
initialIndex={0}
32+
>
33+
<RelayEnvironmentProvider environment={environment}>
34+
<RenderSubmittedMessage {...props} />
35+
</RelayEnvironmentProvider>
36+
</MemoryRouter>,
37+
);
38+
};
39+
2640
it("renders a success", async () => {
2741
const mockSuccess: RenderSubmittedMessageFragment$data = {
2842
status: { __typename: "WorkflowSucceededStatus" },
@@ -33,19 +47,12 @@ describe("RenderSubmittedMessage", () => {
3347
useFragment as () => RenderSubmittedMessageFragment$data,
3448
).mockReturnValueOnce(mockSuccess);
3549

36-
render(
37-
<MemoryRouter
38-
initialEntries={["/templates/mock-workflow"]}
39-
initialIndex={0}
40-
>
41-
<RelayEnvironmentProvider environment={await environment()}>
42-
<RenderSubmittedMessage
43-
result={{ type: "success", message: "ba54321-1/mock-workflow" }}
44-
index={0}
45-
/>
46-
</RelayEnvironmentProvider>
47-
</MemoryRouter>,
48-
);
50+
const successProps: RenderSubmittedMessagePropsList = {
51+
result: { type: "success", message: "ba54321-1/mock-workflow" },
52+
index: 0,
53+
};
54+
55+
await renderComponent(successProps);
4956

5057
const link = screen.getByText("ba54321-1/mock-workflow");
5158
expect(screen.getByTestId("status-icon-succeeded")).toBeInTheDocument();
@@ -61,19 +68,12 @@ describe("RenderSubmittedMessage", () => {
6168
message: "This is a mock error message",
6269
};
6370

64-
render(
65-
<MemoryRouter
66-
initialEntries={["/templates/mock-workflow"]}
67-
initialIndex={0}
68-
>
69-
<RelayEnvironmentProvider environment={await environment()}>
70-
<RenderSubmittedMessage
71-
result={{ type: "networkError", error: mockError }}
72-
index={0}
73-
/>
74-
</RelayEnvironmentProvider>
75-
</MemoryRouter>,
76-
);
71+
const errorProps: RenderSubmittedMessagePropsList = {
72+
result: { type: "networkError", error: mockError },
73+
index: 0,
74+
};
75+
76+
await renderComponent(errorProps);
7777

7878
const accordionInfo = screen.getByText(/Submission error type/);
7979
const accordionDetails = screen.getByText(/Submission error message/);
@@ -92,19 +92,12 @@ describe("RenderSubmittedMessage", () => {
9292
message: "This is a graphql error",
9393
};
9494

95-
render(
96-
<MemoryRouter
97-
initialEntries={["/templates/mock-workflow"]}
98-
initialIndex={0}
99-
>
100-
<RelayEnvironmentProvider environment={await environment()}>
101-
<RenderSubmittedMessage
102-
result={{ type: "graphQLError", errors: [mockError] }}
103-
index={0}
104-
/>
105-
</RelayEnvironmentProvider>
106-
</MemoryRouter>,
107-
);
95+
const graphqlErrorProps: RenderSubmittedMessagePropsList = {
96+
result: { type: "graphQLError", errors: [mockError] },
97+
index: 0,
98+
};
99+
100+
await renderComponent(graphqlErrorProps);
108101

109102
const accordionInfo = screen.getByText("Submission error type GraphQL");
110103
const accordionDetails = screen.getByText(/Error 0/);

0 commit comments

Comments
 (0)