Add plan list unit tests
This commit is contained in:
parent
b0696d1d58
commit
8e8961419c
67
tests/PlanList.test.tsx
Normal file
67
tests/PlanList.test.tsx
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
import React from 'react'
|
||||||
|
import 'react-native'
|
||||||
|
import {fireEvent, render, waitFor} from 'react-native-testing-library'
|
||||||
|
import {MockProviders} from '../mock-providers'
|
||||||
|
import {Plan} from '../plan'
|
||||||
|
import PlanPage from '../PlanPage'
|
||||||
|
|
||||||
|
jest.mock('../db.ts', () => ({
|
||||||
|
setRepo: {
|
||||||
|
createQueryBuilder: () => ({
|
||||||
|
select: jest.fn().mockReturnThis(),
|
||||||
|
addSelect: jest.fn().mockReturnThis(),
|
||||||
|
where: jest.fn().mockReturnThis(),
|
||||||
|
andWhere: jest.fn().mockReturnThis(),
|
||||||
|
groupBy: jest.fn().mockReturnThis(),
|
||||||
|
distinct: jest.fn().mockReturnThis(),
|
||||||
|
getRawMany: jest.fn(() =>
|
||||||
|
Promise.resolve([
|
||||||
|
{
|
||||||
|
name: 'Bench press',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Bicep curls',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Rows',
|
||||||
|
},
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
planRepo: {
|
||||||
|
find: () =>
|
||||||
|
Promise.resolve([
|
||||||
|
{
|
||||||
|
days: 'Monday,Tuesday,Wednesday',
|
||||||
|
workouts: 'Bench press,Side raises, Bicep curls',
|
||||||
|
id: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
days: 'Thursday,Friday,Saturday',
|
||||||
|
workouts: 'Deadlifts,Barbell rows,Pull ups',
|
||||||
|
id: 2,
|
||||||
|
},
|
||||||
|
] as Plan[]),
|
||||||
|
},
|
||||||
|
}))
|
||||||
|
|
||||||
|
test('renders correctly', async () => {
|
||||||
|
const {getByText} = render(
|
||||||
|
<MockProviders>
|
||||||
|
<PlanPage />
|
||||||
|
</MockProviders>,
|
||||||
|
)
|
||||||
|
const title = await waitFor(() => getByText('Plans'))
|
||||||
|
expect(title).toBeDefined()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('adds', async () => {
|
||||||
|
const {getByTestId, getByText} = render(
|
||||||
|
<MockProviders>
|
||||||
|
<PlanPage />
|
||||||
|
</MockProviders>,
|
||||||
|
)
|
||||||
|
fireEvent.press(await waitFor(() => getByTestId('add')))
|
||||||
|
expect(await waitFor(() => getByText('Edit plan'))).toBeDefined()
|
||||||
|
})
|
Loading…
Reference in New Issue
Block a user