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
JavaScript
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;