// Setup testing library // Note: extend-expect is automatically loaded by @testing-library/react-native // Mock expo modules jest.mock('expo', () => ({ // Add any expo mocks here if needed })); // Mock Expo modules jest.mock('expo-router', () => ({ router: { push: jest.fn(), replace: jest.fn(), back: jest.fn(), setParams: jest.fn(), }, useLocalSearchParams: jest.fn(() => ({})), useRouter: jest.fn(() => ({ push: jest.fn(), replace: jest.fn(), back: jest.fn(), })), useSegments: jest.fn(() => []), usePathname: jest.fn(() => '/'), })); jest.mock('expo-secure-store', () => ({ getItemAsync: jest.fn(), setItemAsync: jest.fn(), deleteItemAsync: jest.fn(), })); jest.mock('expo-image-picker', () => ({ requestMediaLibraryPermissionsAsync: jest.fn(() => Promise.resolve({ status: 'granted' }) ), launchImageLibraryAsync: jest.fn(() => Promise.resolve({ canceled: false, assets: [{ uri: 'file://test-image.jpg' }], }) ), })); // Mock native modules jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper', () => ({ default: {}, }), { virtual: true }); // Silence console warnings in tests global.console = { ...console, warn: jest.fn(), error: jest.fn(), };