MCPcopy Create free account
hub / github.com/reactnativecn/react-native-update / setupDownloadMocks

Function setupDownloadMocks

src/__tests__/client.test.ts:377–421  ·  view source on GitHub ↗
({
    downloadPatchFromPpk = mock(() => Promise.resolve()),
    downloadPatchFromPackage = mock(() => Promise.resolve()),
    downloadFullUpdate = mock(() => Promise.resolve()),
    addProgressListener = mock(() => ({ remove: mock(() => {}) })),
  }: {
    downloadPatchFromPpk?: ReturnType<typeof mock>;
    downloadPatchFromPackage?: ReturnType<typeof mock>;
    downloadFullUpdate?: ReturnType<typeof mock>;
    addProgressListener?: ReturnType<typeof mock>;
  } = {})

Source from the content-addressed store, hash-verified

375 });
376
377 const setupDownloadMocks = ({
378 downloadPatchFromPpk = mock(() => Promise.resolve()),
379 downloadPatchFromPackage = mock(() => Promise.resolve()),
380 downloadFullUpdate = mock(() => Promise.resolve()),
381 addProgressListener = mock(() => ({ remove: mock(() => {}) })),
382 }: {
383 downloadPatchFromPpk?: ReturnType<typeof mock>;
384 downloadPatchFromPackage?: ReturnType<typeof mock>;
385 downloadFullUpdate?: ReturnType<typeof mock>;
386 addProgressListener?: ReturnType<typeof mock>;
387 } = {}) => {
388 setupClientMocks({
389 downloadPatchFromPpk,
390 downloadPatchFromPackage,
391 downloadFullUpdate,
392 addProgressListener,
393 });
394
395 // Override setTimeout to skip real backoff delays in retry tests
396 globalThis.setTimeout = ((fn: (...args: any[]) => void, _ms?: number) =>
397 realSetTimeout(fn, 0)) as unknown as typeof setTimeout;
398
399 // Mock testUrls to return urls directly (skip actual HEAD ping)
400 mock.module('../utils', () => ({
401 __esModule: true,
402 assertWeb: () => true,
403 computeProgress: (received: number, total: number) =>
404 total > 0
405 ? Math.min(100, Math.max(0, Math.floor((received / total) * 100)))
406 : 0,
407 DEFAULT_FETCH_TIMEOUT_MS: 5000,
408 emptyObj: {},
409 fetchWithTimeout: mock(() => Promise.resolve()),
410 info: mock(() => {}),
411 joinUrls: (paths: string[], fileName?: string) =>
412 fileName ? paths.map(p => `${p}/${fileName}`) : undefined,
413 log: mock(() => {}),
414 noop: () => {},
415 promiseAny: mock(() => Promise.resolve()),
416 testUrls: (urls?: string[]) =>
417 Promise.resolve(urls?.[0] || null),
418 }));
419
420 return { downloadPatchFromPpk, downloadPatchFromPackage, downloadFullUpdate };
421 };
422
423 const updateInfo = {
424 update: true as const,

Callers 1

client.test.tsFile · 0.85

Calls 2

setupClientMocksFunction · 0.85
resolveMethod · 0.80

Tested by

no test coverage detected