import React from 'react'; import { render, waitFor } from '@testing-library/react-native'; import App from '../App'; // Mock i18n initialization jest.mock('../src/i18n', () => ({ initializeI18n: jest.fn(() => Promise.resolve()), })); describe('App Integration Tests', () => { it('should render App component', async () => { const { getByTestId, UNSAFE_getByType } = render(); // Wait for i18n to initialize await waitFor(() => { // App should render without crashing expect(UNSAFE_getByType(App)).toBeTruthy(); }); }); it('should show loading indicator while initializing', () => { const { UNSAFE_getAllByType } = render(); // Should have ActivityIndicator during initialization const indicators = UNSAFE_getAllByType(require('react-native').ActivityIndicator); expect(indicators.length).toBeGreaterThan(0); }); it('should wrap app in ErrorBoundary', () => { const { UNSAFE_getByType } = render(); // ErrorBoundary should be present in component tree // This verifies the provider hierarchy is correct expect(UNSAFE_getByType(App)).toBeTruthy(); }); });