Test start plan + edit plan
This commit is contained in:
parent
58f1c905b2
commit
8246155c13
51
tests/EditPlan.test.tsx
Normal file
51
tests/EditPlan.test.tsx
Normal file
|
@ -0,0 +1,51 @@
|
|||
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'},
|
||||
]),
|
||||
),
|
||||
}),
|
||||
},
|
||||
}))
|
||||
|
||||
it('renders correctly', async () => {
|
||||
const Stack = createStackNavigator<PlanPageParams>()
|
||||
const {getByText, getAllByText} = render(
|
||||
<MockProviders>
|
||||
<Stack.Navigator>
|
||||
<Stack.Screen
|
||||
initialParams={{
|
||||
plan: {
|
||||
workouts: 'Bench,Rows,Curls',
|
||||
days: 'Monday,Tuesday,Thursday',
|
||||
} as Plan,
|
||||
}}
|
||||
name="EditPlan"
|
||||
component={EditPlan}
|
||||
/>
|
||||
</Stack.Navigator>
|
||||
</MockProviders>,
|
||||
)
|
||||
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)
|
||||
})
|
66
tests/StartPlan.test.tsx
Normal file
66
tests/StartPlan.test.tsx
Normal file
|
@ -0,0 +1,66 @@
|
|||
import {createStackNavigator} from '@react-navigation/stack'
|
||||
import React from 'react'
|
||||
import 'react-native'
|
||||
import {render, waitFor} from 'react-native-testing-library'
|
||||
import GymSet from '../gym-set'
|
||||
import {MockProviders} from '../mock-providers'
|
||||
import {Plan} from '../plan'
|
||||
import {PlanPageParams} from '../plan-page-params'
|
||||
import Settings from '../settings'
|
||||
import StartPlan from '../StartPlan'
|
||||
|
||||
jest.mock('../db.ts', () => ({
|
||||
setRepo: {findOne: () => Promise.resolve({})},
|
||||
settingsRepo: {
|
||||
findOne: () =>
|
||||
Promise.resolve({
|
||||
showUnit: true,
|
||||
showDate: true,
|
||||
images: true,
|
||||
} as Settings),
|
||||
},
|
||||
}))
|
||||
|
||||
jest.mock('../data-source.ts', () => ({
|
||||
AppDataSource: {
|
||||
manager: {
|
||||
query: jest.fn(() =>
|
||||
Promise.resolve([
|
||||
{name: 'Bench', total: 0},
|
||||
{name: 'Rows', total: 0},
|
||||
{name: 'Curls', total: 0},
|
||||
]),
|
||||
),
|
||||
},
|
||||
},
|
||||
}))
|
||||
|
||||
it('renders correctly', async () => {
|
||||
const Stack = createStackNavigator<PlanPageParams>()
|
||||
const {getByText, getAllByText} = render(
|
||||
<MockProviders>
|
||||
<Stack.Navigator>
|
||||
<Stack.Screen
|
||||
initialParams={{
|
||||
first: {reps: 0, weight: 0} as GymSet,
|
||||
plan: {
|
||||
workouts: 'Bench,Rows,Curls',
|
||||
days: 'Monday,Tuesday,Thursday',
|
||||
} as Plan,
|
||||
}}
|
||||
name="StartPlan"
|
||||
component={StartPlan}
|
||||
/>
|
||||
</Stack.Navigator>
|
||||
</MockProviders>,
|
||||
)
|
||||
const title = await waitFor(() => getByText(/Monday/i))
|
||||
expect(title).toBeDefined()
|
||||
expect(getAllByText('Reps').length).toBeGreaterThan(0)
|
||||
expect(getAllByText('Weight').length).toBeGreaterThan(0)
|
||||
expect(getAllByText('Unit').length).toBeGreaterThan(0)
|
||||
expect(getAllByText('Bench').length).toBeGreaterThan(0)
|
||||
expect(getAllByText('Rows').length).toBeGreaterThan(0)
|
||||
expect(getAllByText('Curls').length).toBeGreaterThan(0)
|
||||
expect(getAllByText('Save').length).toBeGreaterThan(0)
|
||||
})
|
Loading…
Reference in New Issue
Block a user