forked from Ivasoft/mattermost-mobile
MM-39720_Invite People - phase 1
This commit is contained in:
@@ -6,11 +6,13 @@ class PlusMenu {
|
||||
browseChannelsItem: 'plus_menu_item.browse_channels',
|
||||
createNewChannelItem: 'plus_menu_item.create_new_channel',
|
||||
openDirectMessageItem: 'plus_menu_item.open_direct_message',
|
||||
invitePeopleToTeamItem: 'plus_menu_item.invite_people_to_team',
|
||||
};
|
||||
|
||||
browseChannelsItem = element(by.id(this.testID.browseChannelsItem));
|
||||
createNewChannelItem = element(by.id(this.testID.createNewChannelItem));
|
||||
openDirectMessageItem = element(by.id(this.testID.openDirectMessageItem));
|
||||
invitePeopleToTeamItem = element(by.id(this.testID.invitePeopleToTeamItem));
|
||||
}
|
||||
|
||||
const plusMenu = new PlusMenu();
|
||||
|
||||
@@ -39,6 +39,7 @@ class ChannelListScreen {
|
||||
browseChannelsItem = PlusMenu.browseChannelsItem;
|
||||
createNewChannelItem = PlusMenu.createNewChannelItem;
|
||||
openDirectMessageItem = PlusMenu.openDirectMessageItem;
|
||||
invitePeopleToTeamItem = PlusMenu.invitePeopleToTeamItem;
|
||||
|
||||
getCategoryCollapsed = (categoryKey: string) => {
|
||||
return element(by.id(`${this.testID.categoryHeaderPrefix}${categoryKey}.collapsed.true`));
|
||||
|
||||
76
detox/e2e/test/teams/invite_people.e2e.ts
Normal file
76
detox/e2e/test/teams/invite_people.e2e.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
// *******************************************************************
|
||||
// - [#] indicates a test step (e.g. # Go to a screen)
|
||||
// - [*] indicates an assertion (e.g. * Check the title)
|
||||
// - Use element testID when selecting an element. Create one if none.
|
||||
// *******************************************************************
|
||||
|
||||
import {Setup} from '@support/server_api';
|
||||
import {
|
||||
serverOneUrl,
|
||||
siteOneUrl,
|
||||
} from '@support/test_config';
|
||||
import {
|
||||
ChannelListScreen,
|
||||
HomeScreen,
|
||||
LoginScreen,
|
||||
ServerScreen,
|
||||
} from '@support/ui/screen';
|
||||
import {isIos} from '@support/utils';
|
||||
import {expect} from 'detox';
|
||||
|
||||
function systemDialog(label: string) {
|
||||
if (device.getPlatform() === 'ios') {
|
||||
return element(by.label(label)).atIndex(0);
|
||||
}
|
||||
return element(by.text(label));
|
||||
}
|
||||
|
||||
describe('Teams - Invite people', () => {
|
||||
const serverOneDisplayName = 'Server 1';
|
||||
|
||||
let testTeam: any;
|
||||
let testUser: any;
|
||||
|
||||
beforeAll(async () => {
|
||||
const {team, user} = await Setup.apiInit(siteOneUrl);
|
||||
|
||||
testTeam = team;
|
||||
testUser = user;
|
||||
|
||||
// # Log in to server
|
||||
await ServerScreen.connectToServer(serverOneUrl, serverOneDisplayName);
|
||||
await LoginScreen.login(testUser);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
// * Verify on channel list screen
|
||||
await ChannelListScreen.toBeVisible();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
// # Close share dialog
|
||||
await ChannelListScreen.headerTeamDisplayName.tap();
|
||||
|
||||
// # Log out
|
||||
await HomeScreen.logout();
|
||||
});
|
||||
|
||||
it('MM-T4729_2 - should be able to share a URL invite to the team', async () => {
|
||||
// # Open plus menu
|
||||
await ChannelListScreen.headerPlusButton.tap();
|
||||
|
||||
// * Verify invite people to team item is available
|
||||
await expect(ChannelListScreen.invitePeopleToTeamItem).toExist();
|
||||
|
||||
// # Tap on invite people to team item
|
||||
await ChannelListScreen.invitePeopleToTeamItem.tap();
|
||||
|
||||
if (isIos()) {
|
||||
// * Verify share dialog is open
|
||||
await expect(systemDialog(`Join the ${testTeam.display_name} team`)).toExist();
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user