// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import {GeneralSettingsScreen} from '@support/ui/screen'; class NotificationSettingsScreen { testID = { notificationSettingsScreen: 'notification_settings.screen', backButton: 'screen.back.button', emailAction: 'notification_settings.email.action', mentionsAndRepliesAction: 'notification_settings.mentions_replies.action', mobileAction: 'notification_settings.mobile.action', } notificationSettingsScreen = element(by.id(this.testID.notificationSettingsScreen)); backButton = element(by.id(this.testID.backButton)); emailAction = element(by.id(this.testID.emailAction)); mentionsAndRepliesAction = element(by.id(this.testID.mentionsAndRepliesAction)); mobileAction = element(by.id(this.testID.mobileAction)); toBeVisible = async () => { await expect(this.notificationSettingsScreen).toBeVisible(); return this.notificationSettingsScreen; } open = async () => { // # Open notification settings screen await GeneralSettingsScreen.notificationsAction.tap(); return this.toBeVisible(); } back = async () => { await this.backButton.tap(); await expect(this.notificationSettingsScreen).not.toBeVisible(); } } const notificationSettingsScreen = new NotificationSettingsScreen(); export default notificationSettingsScreen;