mattermost-mobile/detox/e2e/support/ui/screen/select_server.js
Joseph Baylon 5f6fd6df7a
MM-30286 Detox/E2E: Add e2e test for MM-T3236 and added basic unit tests (#4969)
* MM-30286 Detox/E2E: Add e2e test for MM-T3236

* Fix more testID hierarchies

* Fix typo

* Fix failing test

* Remove extra lines

* Updated to use string interpolation

* Update channels list element query

* Updated channel item unit test to be more consistent

* Fix error text testID hierarchies; fix edit channel info testIDs

* Fix snap file

* Fix line return
2020-11-24 16:58:09 +08:00

44 lines
1.4 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {serverUrl} from '@support/test_config';
import {timeouts} from '@support/utils';
class SelectServerScreen {
testID = {
selectServerScreen: 'select_server.screen',
headerText: 'select_server.header.text',
serverUrlInput: 'select_server.server_url.input',
connectButton: 'select_server.connect.button',
errorText: 'select_server.error.text',
}
selectServerScreen = element(by.id(this.testID.selectServerScreen));
headerText = element(by.id(this.testID.headerText));
serverUrlInput = element(by.id(this.testID.serverUrlInput));
connectButton = element(by.id(this.testID.connectButton));
errorText = element(by.id(this.testID.errorText));
toBeVisible = async () => {
await waitFor(this.selectServerScreen).toBeVisible().withTimeout(timeouts.FOUR_SEC);
return this.selectServerScreen;
}
/**
* connectToServer enters server URL on Select Server screen and then tap connect button.
*/
connectToServer = async () => {
const screen = await this.toBeVisible();
await this.serverUrlInput.replaceText(serverUrl);
// # Tap anywhere to hide keyboard
await screen.tap({x: 5, y: 10});
await this.connectButton.tap();
}
}
const selectServerScreen = new SelectServerScreen();
export default selectServerScreen;