mattermost-mobile/detox/e2e/support/ui/screen/advanced_settings.js
Elias Nahum 5ea470a235
V1 dependencies and bump to RN 0.67.2 (#5908)
* update dependencies

* eslint fixes

* Upgrade to RN 67

* update other deps

* Update to RN 0.67.2

* fix Android build (mmkv)

* Fix crash when root message is deleted from the thread screen

* Fix gif emoji playing at high speed on iOS ProMotion capable devices
2022-02-02 15:28:57 -03:00

62 lines
2.2 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {Alert} from '@support/ui/component';
import {GeneralSettingsScreen} from '@support/ui/screen';
import {timeouts, wait} from '@support/utils';
class AdvancedSettingsScreen {
testID = {
advancedSettingsScreen: 'advanced_settings.screen',
advancedSettingsScrollView: 'advanced_settings.scroll_view',
backButton: 'screen.back.button',
deleteDocumentsAndDataAction: 'advanced_settings.delete_documents_and_data.action',
};
advancedSettingsScreen = element(by.id(this.testID.advancedSettingsScreen));
advancedSettingsScrollView = element(by.id(this.testID.advancedSettingsScrollView));
backButton = element(by.id(this.testID.backButton));
deleteDocumentsAndDataAction = element(by.id(this.testID.deleteDocumentsAndDataAction));
toBeVisible = async () => {
await expect(this.advancedSettingsScreen).toBeVisible();
return this.advancedSettingsScreen;
};
open = async () => {
// # Open advanced settings screen
await GeneralSettingsScreen.advancedAction.tap();
return this.toBeVisible();
};
back = async () => {
await this.backButton.tap();
await expect(this.advancedSettingsScreen).not.toBeVisible();
};
deleteDocumentsAndData = async ({confirm = true} = {}) => {
await this.deleteDocumentsAndDataAction.tap();
const {
deleteDocumentsAndDataTitle,
cancelButton,
deleteButton,
} = Alert;
await expect(deleteDocumentsAndDataTitle).toBeVisible();
await expect(cancelButton).toBeVisible();
await expect(deleteButton).toBeVisible();
if (confirm) {
deleteButton.tap();
await wait(timeouts.ONE_SEC);
await expect(this.advancedSettingsScreen).not.toBeVisible();
} else {
cancelButton.tap();
await wait(timeouts.ONE_SEC);
await expect(this.advancedSettingsScreen).toBeVisible();
}
};
}
const advancedSettingsScreen = new AdvancedSettingsScreen();
export default advancedSettingsScreen;