UNPKG

@toast-studios/asset-manager

Version:

A React Native asset management library with intelligent caching and loading strategies

72 lines (71 loc) 2.51 kB
"use strict"; // Mock React Native dependencies jest.mock('react-native-fs', () => ({ DocumentDirectoryPath: '/mock/documents', CachesDirectoryPath: '/mock/caches', exists: jest.fn(() => Promise.resolve(false)), readDir: jest.fn(() => Promise.resolve([])), stat: jest.fn(() => Promise.resolve({ size: 0 })), mkdir: jest.fn(() => Promise.resolve()), writeFile: jest.fn(() => Promise.resolve()), readFile: jest.fn(() => Promise.resolve('')), unlink: jest.fn(() => Promise.resolve()), downloadFile: jest.fn(() => ({ jobId: 1, promise: Promise.resolve({ statusCode: 200 }), })), stopDownload: jest.fn(), getFSInfo: jest.fn(() => Promise.resolve({ totalSpace: 1000000000, freeSpace: 500000000, })), })); jest.mock('@react-native-community/netinfo', () => ({ addEventListener: jest.fn(() => jest.fn()), fetch: jest.fn(() => Promise.resolve({ type: 'wifi', isConnected: true, isInternetReachable: true, details: { effectiveType: '4g', }, })), })); jest.mock('react-native-device-info', () => ({ getTotalMemory: jest.fn(() => Promise.resolve(4000000000)), getUsedMemory: jest.fn(() => Promise.resolve(2000000000)), getBatteryLevel: jest.fn(() => Promise.resolve(0.8)), getThermalState: jest.fn(() => Promise.resolve('nominal')), getDeviceType: jest.fn(() => 'Handset'), isLowRamDevice: jest.fn(() => Promise.resolve(false)), isTablet: jest.fn(() => Promise.resolve(false)), getSystemName: jest.fn(() => Promise.resolve('iOS')), getCpuCount: jest.fn(() => Promise.resolve(4)), })); jest.mock('@react-native-async-storage/async-storage', () => ({ getItem: jest.fn(() => Promise.resolve(null)), setItem: jest.fn(() => Promise.resolve()), removeItem: jest.fn(() => Promise.resolve()), clear: jest.fn(() => Promise.resolve()), })); // react-native-zip-archive mock removed as it's no longer used // Global test utilities global.fetch = jest.fn(() => Promise.resolve({ ok: true, status: 200, json: () => Promise.resolve({}), text: () => Promise.resolve(''), })); // Suppress console logs during tests unless debugging global.console = { ...console, log: jest.fn(), warn: jest.fn(), error: jest.fn(), }; // Dummy test to prevent Jest from complaining about empty test suite describe('Setup', () => { it('should setup test environment', () => { expect(true).toBe(true); }); });