import {createStackNavigator} from '@react-navigation/stack' import React from 'react' import 'react-native' import {render, waitFor} from 'react-native-testing-library' import EditPlan from '../EditPlan' import {MockProviders} from '../mock-providers' import {Plan} from '../plan' import {PlanPageParams} from '../plan-page-params' jest.mock('../db.ts', () => ({ setRepo: { createQueryBuilder: () => ({ select: jest.fn().mockReturnThis(), distinct: jest.fn().mockReturnThis(), getRawMany: jest.fn(() => Promise.resolve([ {name: 'Bench press'}, {name: 'Bicep curls'}, {name: 'Rows'}, ]), ), }), }, })) test('renders correctly', async () => { const Stack = createStackNavigator() const {getByText, getAllByText} = render( , ) const title = await waitFor(() => getByText(/Edit plan/i)) expect(title).toBeDefined() expect(getAllByText('Days').length).toBeGreaterThan(0) expect(getAllByText('Monday').length).toBeGreaterThan(0) expect(getAllByText('Workouts').length).toBeGreaterThan(0) expect(getAllByText('Bench press').length).toBeGreaterThan(0) expect(getAllByText('Save').length).toBeGreaterThan(0) })