Test all pages

This commit is contained in:
Brandon Presley 2023-01-01 14:32:10 +13:00
parent 3c953530a4
commit ad95438120
6 changed files with 148 additions and 2 deletions

View File

@ -1,13 +1,19 @@
import 'react-native-gesture-handler/jestSetup'
import {NativeModules as RNNativeModules} from 'react-native'
import {NativeModules} from 'react-native'
RNNativeModules.RNViewShot = RNNativeModules.RNViewShot || {
NativeModules.RNViewShot = NativeModules.RNViewShot || {
captureScreen: jest.fn(),
}
NativeModules.SettingsModule = NativeModules.SettingsModule || {
ignoringBattery: jest.fn(),
is24: jest.fn(() => Promise.resolve(true)),
}
jest.mock('react-native-file-access', () => jest.fn())
jest.mock('react-native-share', () => jest.fn())
jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper')
jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter')
//jest.mock('react-native-reanimated', () => {
// const Reanimated = require('react-native-reanimated/mock')
// Reanimated.default.call = () => {}

27
tests/BestPage.test.tsx Normal file
View File

@ -0,0 +1,27 @@
import React from 'react'
import 'react-native'
import {render, waitFor} from 'react-native-testing-library'
import {Repository} from 'typeorm'
import BestPage from '../BestPage'
import GymSet from '../gym-set'
import {MockProviders} from '../mock-providers'
import Settings from '../settings'
jest.mock('../db.ts', () => ({
setRepo: {find: () => Promise.resolve([])} as Repository<GymSet>,
settingsRepo: {
findOne: () => Promise.resolve({} as Settings),
},
}))
describe('PlanPage', () => {
it('renders correctly', async () => {
const {getByText} = render(
<MockProviders>
<BestPage />
</MockProviders>,
)
const title = await waitFor(() => getByText('Best'))
expect(title).toBeDefined()
})
})

27
tests/PlanPage.test.tsx Normal file
View File

@ -0,0 +1,27 @@
import React from 'react'
import 'react-native'
import {render, waitFor} from 'react-native-testing-library'
import {Repository} from 'typeorm'
import GymSet from '../gym-set'
import {MockProviders} from '../mock-providers'
import PlanPage from '../PlanPage'
import Settings from '../settings'
jest.mock('../db.ts', () => ({
setRepo: {find: () => Promise.resolve([])} as Repository<GymSet>,
settingsRepo: {
findOne: () => Promise.resolve({} as Settings),
},
}))
describe('PlanPage', () => {
it('renders correctly', async () => {
const {getByText} = render(
<MockProviders>
<PlanPage />
</MockProviders>,
)
const title = await waitFor(() => getByText('Plans'))
expect(title).toBeDefined()
})
})

View File

@ -0,0 +1,32 @@
import React from 'react'
import 'react-native'
import {render, waitFor} from 'react-native-testing-library'
import {Repository} from 'typeorm'
import GymSet from '../gym-set'
import {MockProviders} from '../mock-providers'
import Settings from '../settings'
import SettingsPage from '../SettingsPage'
jest.mock('../db.ts', () => ({
setRepo: {find: () => Promise.resolve([])} as Repository<GymSet>,
settingsRepo: {
findOne: () => Promise.resolve({} as Settings),
},
}))
describe('PlanPage', () => {
it('renders correctly', async () => {
const {getByText, getAllByText} = render(
<MockProviders>
<SettingsPage />
</MockProviders>,
)
const title = await waitFor(() => getByText('Settings'))
expect(title).toBeDefined()
expect(getByText(/timers/i)).toBeDefined()
expect(getByText(/vibrate/i)).toBeDefined()
expect(getByText(/notifications/i)).toBeDefined()
expect(getByText(/images/i)).toBeDefined()
expect(getAllByText(/theme/i).length).toBeGreaterThan(0)
})
})

27
tests/TimerPage.test.tsx Normal file
View File

@ -0,0 +1,27 @@
import React from 'react'
import 'react-native'
import {render, waitFor} from 'react-native-testing-library'
import {Repository} from 'typeorm'
import GymSet from '../gym-set'
import {MockProviders} from '../mock-providers'
import Settings from '../settings'
import TimerPage from '../TimerPage'
jest.mock('../db.ts', () => ({
setRepo: {find: () => Promise.resolve([])} as Repository<GymSet>,
settingsRepo: {
findOne: () => Promise.resolve({} as Settings),
},
}))
describe('PlanPage', () => {
it('renders correctly', async () => {
const {getByText} = render(
<MockProviders>
<TimerPage />
</MockProviders>,
)
const title = await waitFor(() => getByText('Timer'))
expect(title).toBeDefined()
})
})

View File

@ -0,0 +1,27 @@
import React from 'react'
import 'react-native'
import {render, waitFor} from 'react-native-testing-library'
import {Repository} from 'typeorm'
import GymSet from '../gym-set'
import {MockProviders} from '../mock-providers'
import Settings from '../settings'
import WorkoutsPage from '../WorkoutsPage'
jest.mock('../db.ts', () => ({
setRepo: {find: () => Promise.resolve([])} as Repository<GymSet>,
settingsRepo: {
findOne: () => Promise.resolve({} as Settings),
},
}))
describe('PlanPage', () => {
it('renders correctly', async () => {
const {getByText} = render(
<MockProviders>
<WorkoutsPage />
</MockProviders>,
)
const title = await waitFor(() => getByText('Workouts'))
expect(title).toBeDefined()
})
})