11import { render , screen } from "@testing-library/react" ;
22import "@testing-library/jest-dom" ;
3- import { RenderSubmittedMessage } from "../../lib/components/RenderSubmittedMessage" ;
3+ import {
4+ RenderSubmittedMessage ,
5+ RenderSubmittedMessagePropsList ,
6+ } from "../../lib/components/RenderSubmittedMessage" ;
47import { RelayEnvironmentProvider , useFragment } from "react-relay" ;
58import { getRelayEnvironment } from "dashboard/src/RelayEnvironment" ;
69import { MemoryRouter } from "react-router-dom" ;
@@ -18,11 +21,22 @@ vi.mock("react-relay", async () => {
1821} ) ;
1922
2023describe ( "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 ( / S u b m i s s i o n e r r o r t y p e / ) ;
7979 const accordionDetails = screen . getByText ( / S u b m i s s i o n e r r o r m e s s a g e / ) ;
@@ -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 ( / E r r o r 0 / ) ;
0 commit comments