Add working test for homepage
This commit is contained in:
parent
13e1d4cc21
commit
3c953530a4
|
@ -1,57 +1,27 @@
|
||||||
import 'react-native'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {render} from 'react-native-testing-library'
|
import 'react-native'
|
||||||
|
import {render, waitFor} from 'react-native-testing-library'
|
||||||
|
import {Repository} from 'typeorm'
|
||||||
|
import GymSet from '../gym-set'
|
||||||
import HomePage from '../HomePage'
|
import HomePage from '../HomePage'
|
||||||
import {NavigationContainer} from '@react-navigation/native'
|
import {MockProviders} from '../mock-providers'
|
||||||
import {Provider} from 'react-native-paper'
|
import Settings from '../settings'
|
||||||
import MaterialIcon from 'react-native-vector-icons/MaterialIcons'
|
|
||||||
import SetList from '../SetList'
|
|
||||||
import {Text} from 'react-native'
|
|
||||||
import {AppDataSource} from '../data-source'
|
|
||||||
|
|
||||||
jest.mock('typeorm', () => ({
|
jest.mock('../db.ts', () => ({
|
||||||
createConnection: jest.fn(() => ({
|
setRepo: {find: () => Promise.resolve([])} as Repository<GymSet>,
|
||||||
close: jest.fn(),
|
settingsRepo: {
|
||||||
})),
|
findOne: () => Promise.resolve({} as Settings),
|
||||||
Entity: (name: string) => {
|
|
||||||
return (target: any) => {
|
|
||||||
target.name = name
|
|
||||||
}
|
|
||||||
},
|
|
||||||
Column: (type: any) => {
|
|
||||||
return (target: any, propertyName: string) => {
|
|
||||||
target.columns = target.columns || []
|
|
||||||
target.columns.push({
|
|
||||||
propertyName,
|
|
||||||
type,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
PrimaryColumn: () => {
|
|
||||||
return (target: any, propertyName: string) => {
|
|
||||||
target.primaryColumn = {
|
|
||||||
propertyName,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
PrimaryGeneratedColumn: () => {
|
|
||||||
return (target: any, propertyName: string) => {
|
|
||||||
target.primaryColumn = {
|
|
||||||
propertyName,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
}))
|
}))
|
||||||
|
|
||||||
describe('HomePage', () => {
|
describe('HomePage', () => {
|
||||||
it('renders correctly', async () => {
|
it('renders correctly', async () => {
|
||||||
const {getByText} = render(
|
const {getByText} = render(
|
||||||
<Provider settings={{icon: props => <MaterialIcon {...props} />}}>
|
<MockProviders>
|
||||||
<NavigationContainer>
|
<HomePage />
|
||||||
<SetList />
|
</MockProviders>,
|
||||||
</NavigationContainer>
|
|
||||||
</Provider>,
|
|
||||||
)
|
)
|
||||||
expect(getByText('Home')).toBeDefined()
|
const title = await waitFor(() => getByText('Home'))
|
||||||
|
expect(title).toBeDefined()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue
Block a user