mattermost-mobile/detox/e2e/support/ui/screen/general_settings.js

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;