41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {BrowseChannelsScreen} from '@support/ui/screen';
|
|
import {timeouts} from '@support/utils';
|
|
import {expect} from 'detox';
|
|
|
|
class ChannelDropdownMenuScreen {
|
|
testID = {
|
|
channelDropdownMenuScreen: 'browse_channels.dropdown_slideup.screen',
|
|
publicChannelsItem: 'browse_channels.dropdown_slideup_item.public_channels',
|
|
archivedChannelsItem: 'browse_channels.dropdown_slideup_item.archived_channels',
|
|
sharedChannelsItem: 'browse_channels.dropdown_slideup_item.shared_channels',
|
|
};
|
|
|
|
channelDropdownMenuScreen = element(by.id(this.testID.channelDropdownMenuScreen));
|
|
publicChannelsItem = element(by.id(this.testID.publicChannelsItem));
|
|
archivedChannelsItem = element(by.id(this.testID.archivedChannelsItem));
|
|
sharedChannelsItem = element(by.id(this.testID.sharedChannelsItem));
|
|
|
|
toBeVisible = async () => {
|
|
await waitFor(this.channelDropdownMenuScreen).toExist().withTimeout(timeouts.TEN_SEC);
|
|
|
|
return this.channelDropdownMenuScreen;
|
|
};
|
|
|
|
open = async () => {
|
|
// # Open channel dropdown menu screen
|
|
await BrowseChannelsScreen.channelDropdown.tap();
|
|
|
|
return this.toBeVisible();
|
|
};
|
|
|
|
close = async () => {
|
|
await this.channelDropdownMenuScreen.tap({x: 5, y: 10});
|
|
await expect(this.channelDropdownMenuScreen).not.toBeVisible();
|
|
};
|
|
}
|
|
|
|
const channelDropdownMenuScreen = new ChannelDropdownMenuScreen();
|
|
export default channelDropdownMenuScreen;
|