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

41 lines
1.5 KiB
JavaScript

// 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;