Files
mattermost-mobile/detox/e2e/support/ui/screen/display_settings.ts

52 lines
2.0 KiB
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {SettingsScreen} from '@support/ui/screen';
import {timeouts} from '@support/utils';
import {expect} from 'detox';
class DisplaySettingsScreen {
testID = {
displaySettingsScreen: 'display_settings.screen',
backButton: 'screen.back.button',
scrollView: 'display_settings.scroll_view',
themeOption: 'display_settings.theme.option',
themeOptionInfo: 'display_settings.theme.option.info',
clockDisplayOption: 'display_settings.clock_display.option',
clockDisplayOptionInfo: 'display_settings.clock_display.option.info',
timezoneOption: 'display_settings.timezone.option',
timezoneOptionInfo: 'display_settings.timezone.option.info',
};
displaySettingsScreen = element(by.id(this.testID.displaySettingsScreen));
backButton = element(by.id(this.testID.backButton));
scrollView = element(by.id(this.testID.scrollView));
themeOption = element(by.id(this.testID.themeOption));
themeOptionInfo = element(by.id(this.testID.themeOptionInfo));
clockDisplayOption = element(by.id(this.testID.clockDisplayOption));
clockDisplayOptionInfo = element(by.id(this.testID.clockDisplayOptionInfo));
timezoneOption = element(by.id(this.testID.timezoneOption));
timezoneOptionInfo = element(by.id(this.testID.timezoneOptionInfo));
toBeVisible = async () => {
await waitFor(this.displaySettingsScreen).toExist().withTimeout(timeouts.TEN_SEC);
return this.displaySettingsScreen;
};
open = async () => {
// # Open display settings screen
await SettingsScreen.displayOption.tap();
return this.toBeVisible();
};
back = async () => {
await this.backButton.tap();
await expect(this.displaySettingsScreen).not.toBeVisible();
};
}
const displaySettingsScreen = new DisplaySettingsScreen();
export default displaySettingsScreen;