UNPKG

react-native-ui-lib

Version:

<p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469025-56759000-5ca0-11eb-993d-3568c1fd54f4.png" height="250px" style="display:block"/> </p> <p align="center">UI Toolset & Components Library for React Native</p> <p a

40 lines (38 loc) 1.16 kB
import { fireEvent } from '@testing-library/react-native'; import TextDriver from "../text/Text.driver"; import ImageDriver from "../image/Image.driver"; import _ from 'lodash'; const ButtonDriverFactory = async ({ wrapperComponent, testID }) => { const button = await wrapperComponent.queryByTestId(testID); const label = await TextDriver({ wrapperComponent, testID: `${testID}.label` }); const icon = await ImageDriver({ wrapperComponent, testID: `${testID}.icon` }); return { exists: () => !!button, getRootElement: () => button, isClickable: () => !_.get(button, 'props.accessibilityState.disabled'), click: () => { if (button) { fireEvent.press(button); } else { console.warn(`ButtonDriverFactory: cannot click because testID:${testID} were not found`); } }, // label getLabelRootElement: () => label.getRootElement(), isLabelExists: () => label.exists(), getLabelContent: () => label.getTextContent(), // icon getIconRootElement: () => icon.getRootElement(), isIconExists: () => icon.exists() }; }; export default ButtonDriverFactory;