* MM-30286 Detox/E2E: Add e2e test for MM-T3236 * Fix more testID hierarchies * Fix typo * Fix failing test * Remove extra lines * Updated to use string interpolation * Update channels list element query * Updated channel item unit test to be more consistent * Fix error text testID hierarchies; fix edit channel info testIDs * Fix snap file * Fix line return
47 lines
2 KiB
JavaScript
47 lines
2 KiB
JavaScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
class MainSidebar {
|
|
testID = {
|
|
mainSidebar: 'main.sidebar',
|
|
channelsList: 'main.sidebar.channels_list',
|
|
channelItemDisplayName: 'main.sidebar.channels_list.list.channel_item.display_name',
|
|
filteredChannelItemDisplayName: 'main.sidebar.channels_list.filtered_list.channel_item.display_name',
|
|
openMoreChannelsButton: 'action_button_sidebar.channels',
|
|
openCreatePrivateChannelButton: 'action_button_sidebar.pg',
|
|
openMoreDirectMessagesButton: 'action_button_sidebar.direct',
|
|
}
|
|
|
|
mainSidebar = element(by.id(this.testID.mainSidebar));
|
|
channelsList = element(by.id(this.testID.channelsList));
|
|
channelItemDisplayName = element(by.id(this.testID.channelItemDisplayName));
|
|
filteredChannelItemDisplayName = element(by.id(this.testID.filteredChannelItemDisplayName));
|
|
openMoreChannelsButton = element(by.id(this.testID.openMoreChannelsButton));
|
|
openCreatePrivateChannelButton = element(by.id(this.testID.openCreatePrivateChannelButton));
|
|
openMoreDirectMessagesButton = element(by.id(this.testID.openMoreDirectMessagesButton));
|
|
|
|
getChannelByDisplayName = (displayName) => {
|
|
return element(by.text(displayName).withAncestor(by.id(this.testID.channelsList)));
|
|
}
|
|
|
|
toBeVisible = async () => {
|
|
await expect(this.mainSidebar).toBeVisible();
|
|
|
|
return this.mainSidebar;
|
|
}
|
|
|
|
hasChannelAtIndex = async (index, channelDisplayName) => {
|
|
await expect(
|
|
element(by.id(this.testID.channelItemDisplayName)).atIndex(index),
|
|
).toHaveText(channelDisplayName);
|
|
}
|
|
|
|
hasFilteredChannelAtIndex = async (index, filteredChannelItemDisplayName) => {
|
|
await expect(
|
|
element(by.id(this.testID.filteredChannelItemDisplayName)).atIndex(index),
|
|
).toHaveText(filteredChannelItemDisplayName);
|
|
}
|
|
}
|
|
|
|
const mainSidebar = new MainSidebar();
|
|
export default mainSidebar;
|