diff --git a/tests/StartPlan.test.tsx b/tests/StartPlan.test.tsx index cdeb448..afebac2 100644 --- a/tests/StartPlan.test.tsx +++ b/tests/StartPlan.test.tsx @@ -1,7 +1,7 @@ import {createStackNavigator} from '@react-navigation/stack' import React from 'react' import 'react-native' -import {render, waitFor} from 'react-native-testing-library' +import {fireEvent, render, waitFor} from 'react-native-testing-library' import GymSet from '../gym-set' import {MockProviders} from '../mock-providers' import {Plan} from '../plan' @@ -9,8 +9,16 @@ import {PlanPageParams} from '../plan-page-params' import Settings from '../settings' import StartPlan from '../StartPlan' +jest.mock('../best.service.ts', () => ({ + getBestSet: () => Promise.resolve({}), +})) + jest.mock('../db.ts', () => ({ - setRepo: {findOne: () => Promise.resolve({})}, + getNow: () => Promise.resolve([{now: new Date().toISOString()}]), + setRepo: { + findOne: () => Promise.resolve({}), + save: () => Promise.resolve(), + }, settingsRepo: { findOne: () => Promise.resolve({ @@ -64,3 +72,29 @@ it('renders correctly', async () => { expect(getAllByText('Curls').length).toBeGreaterThan(0) expect(getAllByText('Save').length).toBeGreaterThan(0) }) + +it('saves', async () => { + const Stack = createStackNavigator() + const {getByText} = render( + + + + + , + ) + const save = await waitFor(() => getByText('Save')) + expect(save).toBeDefined() + fireEvent.press(save) + const save2 = await waitFor(() => getByText('Save')) + expect(save2).toBeDefined() +})