mattermost-mobile/detox/e2e/support/ui/screen/general_settings.js
2022-02-02 16:04:24 -03:00

49 lines
1.9 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {SettingsSidebar} from '@support/ui/component';
class GeneralSettingsScreen {
testID = {
generalSettingsScreen: 'general_settings.screen',
closeSettingsButton: 'close.settings.button',
notificationsAction: 'general_settings.notifications.action',
displayAction: 'general_settings.display.action',
selectTeamAction: 'general_settings.select_team.action',
advancedAction: 'general_settings.advanced.action',
aboutAction: 'general_settings.about.action',
helpAction: 'general_settings.help.action',
reportAction: 'general_settings.report.action',
};
generalSettingsScreen = element(by.id(this.testID.generalSettingsScreen));
closeSettingsButton = element(by.id(this.testID.closeSettingsButton));
notificationsAction = element(by.id(this.testID.notificationsAction));
displayAction = element(by.id(this.testID.displayAction));
selectTeamAction = element(by.id(this.testID.selectTeamAction));
advancedAction = element(by.id(this.testID.advancedAction));
aboutAction = element(by.id(this.testID.aboutAction));
helpAction = element(by.id(this.testID.helpAction));
reportAction = element(by.id(this.testID.reportAction));
toBeVisible = async () => {
await expect(this.generalSettingsScreen).toBeVisible();
return this.generalSettingsScreen;
};
open = async () => {
// # Open general settings screen
await SettingsSidebar.settingsAction.tap();
return this.toBeVisible();
};
close = async () => {
await this.closeSettingsButton.tap();
await expect(this.generalSettingsScreen).not.toBeVisible();
};
}
const generalSettingsScreen = new GeneralSettingsScreen();
export default generalSettingsScreen;