// Setup testing library import '@testing-library/react-native/extend-expect'; // 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'); // Silence console warnings in tests global.console = { ...console, warn: jest.fn(), error: jest.fn(), };