Test editing a workout

This commit is contained in:
Brandon Presley 2023-01-01 15:21:56 +13:00
parent a68d4d6a69
commit f221ebb8df
1 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,43 @@
import {createStackNavigator} from '@react-navigation/stack'
import React from 'react'
import 'react-native'
import {render, waitFor} from 'react-native-testing-library'
import EditWorkout from '../EditWorkout'
import GymSet from '../gym-set'
import {MockProviders} from '../mock-providers'
import Settings from '../settings'
import {WorkoutsPageParams} from '../WorkoutsPage'
jest.mock('../db.ts', () => ({
settingsRepo: {
findOne: () =>
Promise.resolve({
showSets: true,
alarm: true,
} as Settings),
},
}))
it('renders correctly', async () => {
const Stack = createStackNavigator<WorkoutsPageParams>()
const {getByText, getAllByText} = render(
<MockProviders>
<Stack.Navigator>
<Stack.Screen
initialParams={{
value: {} as GymSet,
}}
name="EditWorkout"
component={EditWorkout}
/>
</Stack.Navigator>
</MockProviders>,
)
const title = await waitFor(() => getByText(/Edit workout/i))
expect(title).toBeDefined()
expect(getAllByText(/Name/i).length).toBeGreaterThan(0)
expect(getAllByText(/Sets/i).length).toBeGreaterThan(0)
expect(getAllByText(/Minutes/i).length).toBeGreaterThan(0)
expect(getAllByText(/Seconds/i).length).toBeGreaterThan(0)
expect(getAllByText(/Save/i).length).toBeGreaterThan(0)
})