Massive/tests/SettingsPage.test.tsx

31 lines
984 B
TypeScript
Raw Normal View History

2023-01-01 01:32:10 +00:00
import React from 'react'
import 'react-native'
2023-06-27 03:16:59 +00:00
import { render, waitFor } from 'react-native-testing-library'
import { Repository } from 'typeorm'
2023-01-01 01:32:10 +00:00
import GymSet from '../gym-set'
2023-06-27 03:16:59 +00:00
import { MockProviders } from '../mock-providers'
2023-01-01 01:32:10 +00:00
import Settings from '../settings'
import SettingsPage from '../SettingsPage'
jest.mock('../db.ts', () => ({
2023-06-27 03:16:59 +00:00
setRepo: { find: () => Promise.resolve([]) } as Repository<GymSet>,
2023-01-01 01:32:10 +00:00
settingsRepo: {
findOne: () => Promise.resolve({} as Settings),
},
}))
test('renders correctly', async () => {
2023-06-27 03:16:59 +00:00
const { getByText, getAllByText } = render(
2023-01-01 01:35:22 +00:00
<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)
2023-01-01 01:32:10 +00:00
})