/* eslint react/prop-types: "off" */ import React from 'react'; import { fireEvent, render, waitFor } from '@testing-library/react-native'; import { NavigationContainer } from '@react-navigation/native'; import { SafeAreaProvider } from 'react-native-safe-area-context'; import { Header } from '../../components/Header'; import SelfTest from '../../screen/settings/SelfTest'; import Settings from '../../screen/settings/Settings'; import { BlueDefaultTheme } from '../../components/themes'; jest.mock('../../blue_modules/BlueElectrum', () => { return { connectMain: jest.fn(), }; }); const Wrapper = ({ children }) => ( {children} ); it('Header works', () => { const { toJSON } = render(
, ); expect(toJSON()).toBeTruthy(); }); // eslint-disable-next-line jest/no-disabled-tests it.skip('Settings work', () => { const { toJSON } = render( , ); expect(toJSON()).toBeTruthy(); }); it('SelfTest work', async () => { const { toJSON, queryByTestId, getByText } = render( , ); expect(toJSON()).toBeTruthy(); fireEvent.press(getByText('Run self-test')); // Self-tests can complete very quickly or take a while // Wait for OK to appear (it might be there immediately or after tests complete) await waitFor( () => { expect(queryByTestId('SelfTestOk')).toBeTruthy(); }, { timeout: 120000 }, ); // Verify OK is present and visible const okElement = queryByTestId('SelfTestOk'); expect(okElement).toBeTruthy(); }, 180000);