Files
react-native/packages/rn-tester-e2e/tests/screens/components/refreshControlComponent.screen.js
T
Gijs Weterings 67c1a806e6 Flow strictify xplat/js/react-native-github where possible (#41051)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41051

Strictifies flow to flow strict-local in files where doing that doesn't cause new flow errors.

Changelog: Internal

Reviewed By: yungsters

Differential Revision: D50369011

fbshipit-source-id: b4a5a26b839b7327a3178e6f5b35246dea365a38
2023-10-18 05:36:33 -07:00

48 lines
1.6 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
*/
import {
UtilsSingleton as Utils,
androidWidget,
iOSName,
} from '../../helpers/utils';
type RefreshControlComponentScreenType = {
refreshControlScreenElement: string,
initialRowScreenElement: string,
checkInitialRowIsDisplayed: () => Promise<boolean>,
scrollUntilRefreshControlComponentIsDisplayed: () => Promise<void>,
};
export const RefreshControlComponentScreen: RefreshControlComponentScreenType =
{
// reference in the Components list
refreshControlScreenElement: Utils.platformSelect({
ios: iOSName('RefreshControl'),
android: androidWidget('TextView', 'text', 'RefreshControl'),
}),
// References to elements within the RefreshControl Component screen
initialRowScreenElement: Utils.platformSelect({
ios: iOSName('refresh_control_row'),
android: androidWidget('TextView', 'resource-id', 'refresh_control_row'),
}),
// Methods to interact with the elements
checkInitialRowIsDisplayed: async function (
this: RefreshControlComponentScreenType,
): Promise<boolean> {
return await Utils.checkElementExistence(this.initialRowScreenElement);
},
scrollUntilRefreshControlComponentIsDisplayed: async function (
this: RefreshControlComponentScreenType,
): Promise<void> {
return await Utils.scrollToElement(this.refreshControlScreenElement);
},
};