This repository was archived by the owner on Jul 30, 2020. It is now read-only.
This repository was archived by the owner on Jul 30, 2020. It is now read-only.
Update the example on this repository readme file #42
Closed
Description
Details
The example on this repository's readme file isn't working, but the one on the docs is working fine, it would be helpful to have the same example in order for the new comers not get frustrated that the example isn't working.
import React from 'react';
import { Button, Text, TextInput, View } from 'react-native';
import { fireEvent, render, wait } from '@testing-library/react-native';
function Example() {
const [name, setUser] = React.useState('');
const [show, setShow] = React.useState(false);
return (
<View>
<TextInput value={name} onChangeText={setUser} testID="input" />
<Button
title="Print Username"
onPress={() => {
// let's pretend this is making a server request, so it's async
// (you'd want to mock this imaginary request in your unit tests)...
setTimeout(() => {
setShow(!show);
}, Math.floor(Math.random() * 200));
}}
/>
{show && <Text testID="printed-username">{name}</Text>}
</View>
);
}
test('examples of some things', async () => {
const { getByTestId, getByText, queryByTestId, baseElement } = render(<Example />);
const famousWomanInHistory = 'Ada Lovelace';
const input = getByTestId('input');
fireEvent.changeText(input, famousWomanInHistory);
const button = getByText('Print Username');
fireEvent.press(button);
await wait(() => expect(queryByTestId('printed-username')).toBeTruthy());
expect(getByTestId('printed-username').props.children).toBe(famousWomanInHistory);
expect(baseElement).toMatchSnapshot();
});