From 3c953530a4b710895eb3454e730ed502f74469f6 Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Sun, 1 Jan 2023 14:19:32 +1300 Subject: [PATCH] Add working test for homepage --- tests/HomePage.test.tsx | 60 +++++++++++------------------------------ 1 file changed, 15 insertions(+), 45 deletions(-) diff --git a/tests/HomePage.test.tsx b/tests/HomePage.test.tsx index 5e37f22..33948e6 100644 --- a/tests/HomePage.test.tsx +++ b/tests/HomePage.test.tsx @@ -1,57 +1,27 @@ -import 'react-native' 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 {NavigationContainer} from '@react-navigation/native' -import {Provider} from 'react-native-paper' -import MaterialIcon from 'react-native-vector-icons/MaterialIcons' -import SetList from '../SetList' -import {Text} from 'react-native' -import {AppDataSource} from '../data-source' +import {MockProviders} from '../mock-providers' +import Settings from '../settings' -jest.mock('typeorm', () => ({ - createConnection: jest.fn(() => ({ - close: jest.fn(), - })), - 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, - } - } +jest.mock('../db.ts', () => ({ + setRepo: {find: () => Promise.resolve([])} as Repository, + settingsRepo: { + findOne: () => Promise.resolve({} as Settings), }, })) describe('HomePage', () => { it('renders correctly', async () => { const {getByText} = render( - }}> - - - - , + + + , ) - expect(getByText('Home')).toBeDefined() + const title = await waitFor(() => getByText('Home')) + expect(title).toBeDefined() }) })