Replace it with test for jest files

Test explains what it is we are writing, whereas it
doesn't.
This commit is contained in:
Brandon Presley 2023-01-04 13:44:28 +13:00
parent 495b89fba3
commit b41c30d886
13 changed files with 63 additions and 20 deletions

1
.gitignore vendored
View File

@ -73,3 +73,4 @@ massive-build
!.yarn/releases !.yarn/releases
!.yarn/sdks !.yarn/sdks
!.yarn/versions !.yarn/versions
coverage

View File

@ -17,7 +17,7 @@ jest.mock('../data-source.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const {getAllByText} = render(<App />) const {getAllByText} = render(<App />)
const title = await waitFor(() => getAllByText('Home')) const title = await waitFor(() => getAllByText('Home'))
expect(title.length).toBeGreaterThan(0) expect(title.length).toBeGreaterThan(0)

View File

@ -1,20 +1,49 @@
import React from 'react' import React from 'react'
import 'react-native' import 'react-native'
import {render, waitFor} from 'react-native-testing-library' import {fireEvent, render, waitFor} from 'react-native-testing-library'
import {Repository} from 'typeorm'
import BestPage from '../BestPage' import BestPage from '../BestPage'
import GymSet from '../gym-set'
import {MockProviders} from '../mock-providers' import {MockProviders} from '../mock-providers'
import Settings from '../settings' import Settings from '../settings'
jest.mock('../db.ts', () => ({ jest.mock('../db.ts', () => ({
setRepo: {find: () => Promise.resolve([])} as Repository<GymSet>, 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(),
getMany: jest.fn(() =>
Promise.resolve([
{
name: 'Bench press',
weight: 60,
reps: 8,
image: 'https://picsum.photos/id/10/1000/600',
},
{
name: 'Bicep curls',
weight: 20,
reps: 10,
image: 'https://picsum.photos/id/0/1000/600',
},
{
name: 'Rows',
weight: 100,
reps: 10,
image: 'https://picsum.photos/id/1/1000/600',
},
]),
),
}),
},
settingsRepo: { settingsRepo: {
findOne: () => Promise.resolve({} as Settings), findOne: () => Promise.resolve({images: true} as Settings),
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const {getByText} = render( const {getByText} = render(
<MockProviders> <MockProviders>
<BestPage /> <BestPage />
@ -23,3 +52,16 @@ it('renders correctly', async () => {
const title = await waitFor(() => getByText('Best')) const title = await waitFor(() => getByText('Best'))
expect(title).toBeDefined() expect(title).toBeDefined()
}) })
test('searches', async () => {
const {getByDisplayValue, getByPlaceholder} = render(
<MockProviders>
<BestPage />
</MockProviders>,
)
const search = await waitFor(() => getByPlaceholder('Search'))
expect(search).toBeDefined()
fireEvent.changeText(search, 'SearchValue')
const value = await waitFor(() => getByDisplayValue('SearchValue'))
expect(value).toBeDefined()
})

View File

@ -23,7 +23,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const Stack = createStackNavigator<PlanPageParams>() const Stack = createStackNavigator<PlanPageParams>()
const {getByText, getAllByText} = render( const {getByText, getAllByText} = render(
<MockProviders> <MockProviders>

View File

@ -25,7 +25,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const Stack = createStackNavigator<HomePageParams>() const Stack = createStackNavigator<HomePageParams>()
const {getByText, getAllByText} = render( const {getByText, getAllByText} = render(
<MockProviders> <MockProviders>
@ -53,7 +53,7 @@ it('renders correctly', async () => {
expect(getAllByText('Image').length).toBeGreaterThan(0) expect(getAllByText('Image').length).toBeGreaterThan(0)
}) })
it('saves', async () => { test('saves', async () => {
const Stack = createStackNavigator<HomePageParams>() const Stack = createStackNavigator<HomePageParams>()
const {getByText, getAllByText, getByTestId} = render( const {getByText, getAllByText, getByTestId} = render(
<MockProviders> <MockProviders>

View File

@ -36,7 +36,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const Stack = createStackNavigator<HomePageParams>() const Stack = createStackNavigator<HomePageParams>()
const {getByText, getAllByText} = render( const {getByText, getAllByText} = render(
<MockProviders> <MockProviders>
@ -58,7 +58,7 @@ it('renders correctly', async () => {
expect(getAllByText(/Image/i).length).toBeGreaterThan(0) expect(getAllByText(/Image/i).length).toBeGreaterThan(0)
}) })
it('saves', async () => { test('saves', async () => {
const Stack = createStackNavigator<HomePageParams>() const Stack = createStackNavigator<HomePageParams>()
const {getByText, getAllByText} = render( const {getByText, getAllByText} = render(
<MockProviders> <MockProviders>

View File

@ -18,7 +18,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const Stack = createStackNavigator<WorkoutsPageParams>() const Stack = createStackNavigator<WorkoutsPageParams>()
const {getByText, getAllByText} = render( const {getByText, getAllByText} = render(
<MockProviders> <MockProviders>

View File

@ -14,7 +14,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const {getByText} = render( const {getByText} = render(
<MockProviders> <MockProviders>
<HomePage /> <HomePage />

View File

@ -14,7 +14,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const {getByText} = render( const {getByText} = render(
<MockProviders> <MockProviders>
<PlanPage /> <PlanPage />

View File

@ -14,7 +14,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const {getByText, getAllByText} = render( const {getByText, getAllByText} = render(
<MockProviders> <MockProviders>
<SettingsPage /> <SettingsPage />

View File

@ -43,7 +43,7 @@ jest.mock('../data-source.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const Stack = createStackNavigator<PlanPageParams>() const Stack = createStackNavigator<PlanPageParams>()
const {getByText, getAllByText} = render( const {getByText, getAllByText} = render(
<MockProviders> <MockProviders>
@ -73,7 +73,7 @@ it('renders correctly', async () => {
expect(getAllByText('Save').length).toBeGreaterThan(0) expect(getAllByText('Save').length).toBeGreaterThan(0)
}) })
it('saves', async () => { test('saves', async () => {
const Stack = createStackNavigator<PlanPageParams>() const Stack = createStackNavigator<PlanPageParams>()
const {getByText} = render( const {getByText} = render(
<MockProviders> <MockProviders>

View File

@ -14,7 +14,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const {getByText} = render( const {getByText} = render(
<MockProviders> <MockProviders>
<TimerPage /> <TimerPage />

View File

@ -14,7 +14,7 @@ jest.mock('../db.ts', () => ({
}, },
})) }))
it('renders correctly', async () => { test('renders correctly', async () => {
const {getByText} = render( const {getByText} = render(
<MockProviders> <MockProviders>
<WorkoutsPage /> <WorkoutsPage />