MCPcopy
hub / github.com/artsy/eigen / setupTestWrapper

Function setupTestWrapper

src/app/utils/tests/setupTestWrapper.tsx:83–149  ·  view source on GitHub ↗
({
  Component,
  preloaded = false,
  query,
  variables = {},
  wrapperProps = {},
}: SetupTestWrapper<T, ComponentProps>)

Source from the content-addressed store, hash-verified

81 * })
82 */
83export const setupTestWrapper = <T extends OperationType, ComponentProps = {}>({
84 Component,
85 preloaded = false,
86 query,
87 variables = {},
88 wrapperProps = {},
89}: SetupTestWrapper<T, ComponentProps>) => {
90 const renderWithRelay = (mockResolvers: MockResolvers = {}, props: any = {}): RenderWithRelay => {
91 const env = getMockRelayEnvironment()
92
93 const TestRenderer = () => {
94 return query ? (
95 <QueryRenderer<T>
96 environment={env}
97 variables={variables}
98 query={query}
99 render={({ props: relayProps, error }) => {
100 if (relayProps) {
101 return <Component {...relayProps} {...props} />
102 } else if (error) {
103 console.error(error)
104 }
105 }}
106 />
107 ) : (
108 <Component {...props} />
109 )
110 }
111
112 const view = renderWithWrappers(<TestRenderer />, wrapperProps)
113
114 act(() => {
115 const resolve = preloaded
116 ? env.mock.queueOperationResolver
117 : env.mock.resolveMostRecentOperation
118
119 if (preloaded) {
120 if (!query) {
121 throw new Error("A `query` is required when using `preloaded` prop.")
122 }
123 env.mock.queuePendingOperation(query, variables)
124 }
125
126 resolve((operation: any) => {
127 return MockPayloadGenerator.generate(operation, mockResolvers)
128 })
129 })
130
131 const mockResolveLastOperation = (mockResolvers: MockResolvers) => {
132 act(() => {
133 env.mock.resolveMostRecentOperation((operation) => {
134 return MockPayloadGenerator.generate(operation, mockResolvers)
135 })
136 })
137 }
138
139 const mockRejectLastOperation = (error: Error) => {
140 act(() => {

Calls

no outgoing calls

Tested by

no test coverage detected