|
1 | | -import { errorCodes, providerErrors, rpcErrors } from '@metamask/rpc-errors'; |
| 1 | +import { providerErrors, rpcErrors } from '@metamask/rpc-errors'; |
2 | 2 | import type { Json, JsonRpcParams, JsonRpcRequest } from '@metamask/utils'; |
3 | 3 |
|
4 | 4 | import { createRetryOnEmptyMiddleware } from '.'; |
5 | 5 | import type { ProviderRequestStub } from '../test/util/helpers'; |
6 | 6 | import { |
7 | 7 | createMockParamsWithBlockParamAt, |
8 | 8 | createMockParamsWithoutBlockParamAt, |
9 | | - createSimpleFinalMiddleware, |
10 | 9 | createStubForBlockNumberRequest, |
11 | 10 | expectProviderRequestNotToHaveBeenMade, |
12 | 11 | requestMatches, |
13 | 12 | stubProviderRequests, |
14 | 13 | createProviderAndBlockTracker, |
15 | 14 | createEngine, |
16 | 15 | createRequest, |
| 16 | + createFinalMiddlewareWithDefaultResult, |
17 | 17 | } from '../test/util/helpers'; |
18 | 18 |
|
19 | 19 | const originalSetTimeout = globalThis.setTimeout; |
@@ -100,18 +100,14 @@ describe('createRetryOnEmptyMiddleware', () => { |
100 | 100 | }), |
101 | 101 | ]); |
102 | 102 |
|
103 | | - const responsePromise = engine.handle(request); |
| 103 | + const resultPromise = engine.handle(request); |
104 | 104 | await waitForRequestToBeRetried({ |
105 | 105 | requestSpy, |
106 | 106 | request, |
107 | 107 | numberOfTimes: 10, |
108 | 108 | }); |
109 | 109 |
|
110 | | - expect(await responsePromise).toStrictEqual({ |
111 | | - id: 1, |
112 | | - jsonrpc: '2.0', |
113 | | - result: 'something', |
114 | | - }); |
| 110 | + expect(await resultPromise).toBe('something'); |
115 | 111 | }); |
116 | 112 |
|
117 | 113 | it('returns an error if the request is still unsuccessful after 10 retries', async () => { |
@@ -141,26 +137,20 @@ describe('createRetryOnEmptyMiddleware', () => { |
141 | 137 | }), |
142 | 138 | ]); |
143 | 139 |
|
144 | | - const responsePromise = engine.handle(request); |
| 140 | + const resultPromise = engine.handle(request); |
145 | 141 | await waitForRequestToBeRetried({ |
146 | 142 | requestSpy, |
147 | 143 | request, |
148 | 144 | numberOfTimes: 10, |
149 | 145 | }); |
150 | 146 |
|
151 | | - expect(await responsePromise).toMatchObject({ |
152 | | - error: expect.objectContaining({ |
153 | | - data: expect.objectContaining({ |
154 | | - cause: expect.objectContaining({ |
155 | | - message: 'RetryOnEmptyMiddleware - retries exhausted', |
156 | | - }), |
157 | | - }), |
158 | | - }), |
159 | | - }); |
| 147 | + await expect(resultPromise).rejects.toThrow( |
| 148 | + new Error('RetryOnEmptyMiddleware - retries exhausted'), |
| 149 | + ); |
160 | 150 | }); |
161 | 151 |
|
162 | 152 | it('does not proceed to the next middleware after making a request through the provider', async () => { |
163 | | - const finalMiddleware = createSimpleFinalMiddleware(); |
| 153 | + const finalMiddleware = createFinalMiddlewareWithDefaultResult(); |
164 | 154 |
|
165 | 155 | const engine = createEngine( |
166 | 156 | createRetryOnEmptyMiddleware({ |
@@ -219,7 +209,7 @@ describe('createRetryOnEmptyMiddleware', () => { |
219 | 209 | }); |
220 | 210 |
|
221 | 211 | it('proceeds to the next middleware', async () => { |
222 | | - const finalMiddleware = createSimpleFinalMiddleware(); |
| 212 | + const finalMiddleware = createFinalMiddlewareWithDefaultResult(); |
223 | 213 |
|
224 | 214 | const engine = createEngine( |
225 | 215 | createRetryOnEmptyMiddleware({ |
@@ -276,7 +266,7 @@ describe('createRetryOnEmptyMiddleware', () => { |
276 | 266 | }); |
277 | 267 |
|
278 | 268 | it('proceeds to the next middleware', async () => { |
279 | | - const finalMiddleware = createSimpleFinalMiddleware(); |
| 269 | + const finalMiddleware = createFinalMiddlewareWithDefaultResult(); |
280 | 270 |
|
281 | 271 | const engine = createEngine( |
282 | 272 | createRetryOnEmptyMiddleware({ |
@@ -334,7 +324,7 @@ describe('createRetryOnEmptyMiddleware', () => { |
334 | 324 | }); |
335 | 325 |
|
336 | 326 | it('proceeds to the next middleware', async () => { |
337 | | - const finalMiddleware = createSimpleFinalMiddleware(); |
| 327 | + const finalMiddleware = createFinalMiddlewareWithDefaultResult(); |
338 | 328 |
|
339 | 329 | const engine = createEngine( |
340 | 330 | createRetryOnEmptyMiddleware({ |
@@ -389,7 +379,7 @@ describe('createRetryOnEmptyMiddleware', () => { |
389 | 379 | }); |
390 | 380 |
|
391 | 381 | it('proceeds to the next middleware', async () => { |
392 | | - const finalMiddleware = createSimpleFinalMiddleware(); |
| 382 | + const finalMiddleware = createFinalMiddlewareWithDefaultResult(); |
393 | 383 |
|
394 | 384 | const engine = createEngine( |
395 | 385 | createRetryOnEmptyMiddleware({ |
@@ -437,7 +427,7 @@ describe('createRetryOnEmptyMiddleware', () => { |
437 | 427 | }); |
438 | 428 |
|
439 | 429 | it('proceeds to the next middleware', async () => { |
440 | | - const finalMiddleware = createSimpleFinalMiddleware(); |
| 430 | + const finalMiddleware = createFinalMiddlewareWithDefaultResult(); |
441 | 431 |
|
442 | 432 | const engine = createEngine( |
443 | 433 | createRetryOnEmptyMiddleware({ |
@@ -478,13 +468,11 @@ describe('createRetryOnEmptyMiddleware', () => { |
478 | 468 | }, |
479 | 469 | }, |
480 | 470 | ]); |
481 | | - const responsePromise = engine.handle(request); |
482 | | - expect(await responsePromise).toMatchObject({ |
483 | | - error: expect.objectContaining({ |
484 | | - code: errorCodes.rpc.invalidInput, |
485 | | - message: 'execution reverted', |
486 | | - }), |
487 | | - }); |
| 471 | + |
| 472 | + const resultPromise = engine.handle(request); |
| 473 | + await expect(resultPromise).rejects.toThrow( |
| 474 | + rpcErrors.invalidInput('execution reverted'), |
| 475 | + ); |
488 | 476 | }); |
489 | 477 | }); |
490 | 478 | }); |
|
0 commit comments