63 lines
2.9 KiB
TypeScript
63 lines
2.9 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {DisplaySettingsScreen} from '@support/ui/screen';
|
|
import {timeouts} from '@support/utils';
|
|
import {expect} from 'detox';
|
|
|
|
class ThemeDisplaySettingsScreen {
|
|
testID = {
|
|
themeDisplaySettingsScreen: 'theme_display_settings.screen',
|
|
backButton: 'screen.back.button',
|
|
scrollView: 'theme_display_settings.scroll_view',
|
|
denimOption: 'theme_display_settings.denim.option',
|
|
denimOptionSelected: 'theme_display_settings.denim.option.selected',
|
|
sapphireOption: 'theme_display_settings.sapphire.option',
|
|
sapphireOptionSelected: 'theme_display_settings.sapphire.option.selected',
|
|
quartzOption: 'theme_display_settings.quartz.option',
|
|
quartzOptionSelected: 'theme_display_settings.quartz.option.selected',
|
|
indigoOption: 'theme_display_settings.indigo.option',
|
|
indigoOptionSelected: 'theme_display_settings.indigo.option.selected',
|
|
onyxOption: 'theme_display_settings.onyx.option',
|
|
onyxOptionSelected: 'theme_display_settings.onyx.option.selected',
|
|
customOption: 'theme_display_settings.custom.option',
|
|
customOptionSelected: 'theme_display_settings.custom.option.selected',
|
|
};
|
|
|
|
themeDisplaySettingsScreen = element(by.id(this.testID.themeDisplaySettingsScreen));
|
|
backButton = element(by.id(this.testID.backButton));
|
|
scrollView = element(by.id(this.testID.scrollView));
|
|
denimOption = element(by.id(this.testID.denimOption));
|
|
denimOptionSelected = element(by.id(this.testID.denimOptionSelected));
|
|
sapphireOption = element(by.id(this.testID.sapphireOption));
|
|
sapphireOptionSelected = element(by.id(this.testID.sapphireOptionSelected));
|
|
quartzOption = element(by.id(this.testID.quartzOption));
|
|
quartzOptionSelected = element(by.id(this.testID.quartzOptionSelected));
|
|
indigoOption = element(by.id(this.testID.indigoOption));
|
|
indigoOptionSelected = element(by.id(this.testID.indigoOptionSelected));
|
|
onyxOption = element(by.id(this.testID.onyxOption));
|
|
onyxOptionSelected = element(by.id(this.testID.onyxOptionSelected));
|
|
customOption = element(by.id(this.testID.customOption));
|
|
customOptionSelected = element(by.id(this.testID.customOptionSelected));
|
|
|
|
toBeVisible = async () => {
|
|
await waitFor(this.themeDisplaySettingsScreen).toExist().withTimeout(timeouts.TEN_SEC);
|
|
|
|
return this.themeDisplaySettingsScreen;
|
|
};
|
|
|
|
open = async () => {
|
|
// # Open theme display settings screen
|
|
await DisplaySettingsScreen.themeOption.tap();
|
|
|
|
return this.toBeVisible();
|
|
};
|
|
|
|
back = async () => {
|
|
await this.backButton.tap();
|
|
await expect(this.themeDisplaySettingsScreen).not.toBeVisible();
|
|
};
|
|
}
|
|
|
|
const themeDisplaySettingsScreen = new ThemeDisplaySettingsScreen();
|
|
export default themeDisplaySettingsScreen;
|