Deeplinking test working
This commit is contained in:
parent
40dae23b61
commit
13d07d5ee3
|
@ -4,10 +4,14 @@ const {
|
|||
const data = require('../../data');
|
||||
const { tapBack, checkServer, navigateToRegister } = require('../../helpers/app');
|
||||
const { post, get, login } = require('../../helpers/data_setup');
|
||||
const platformTypes = require('../../helpers/platformTypes');
|
||||
|
||||
const DEEPLINK_METHODS = { AUTH: 'auth', ROOM: 'room' };
|
||||
|
||||
let amp = '&';
|
||||
|
||||
const getDeepLink = (method, server, params) => {
|
||||
const deeplink = `rocketchat://${ method }?host=${ server.replace(/^(http:\/\/|https:\/\/)/, '') }&${params}`;
|
||||
const deeplink = `rocketchat://${ method }?host=${ server.replace(/^(http:\/\/|https:\/\/)/, '') }${amp}${params}`;
|
||||
console.log(`Deeplinking to: ${ deeplink }`);
|
||||
return deeplink;
|
||||
};
|
||||
|
@ -18,6 +22,9 @@ describe('Deep linking', () => {
|
|||
before(async() => {
|
||||
const loginResult = await login(data.users.regular.username, data.users.regular.password);
|
||||
({ userId, authToken } = loginResult);
|
||||
const deviceType = device.getPlatform();
|
||||
amp = deviceType == 'android' ? '\\&' : '&';
|
||||
({ scrollViewType } = platformTypes[deviceType]);
|
||||
});
|
||||
|
||||
describe('Authentication', () => {
|
||||
|
@ -25,8 +32,7 @@ describe('Deep linking', () => {
|
|||
await device.launchApp({
|
||||
permissions: { notifications: 'YES' },
|
||||
delete: true,
|
||||
url: getDeepLink(DEEPLINK_METHODS.AUTH, data.server, 'userId=123&token=abc'),
|
||||
sourceApp: 'com.apple.mobilesafari'
|
||||
url: getDeepLink(DEEPLINK_METHODS.AUTH, data.server, `userId=123${amp}token=abc`),
|
||||
});
|
||||
await waitFor(element(by.text('You\'ve been logged out by the server. Please log in again.'))).toExist().withTimeout(10000); // TODO: we need to improve this message
|
||||
});
|
||||
|
@ -35,8 +41,7 @@ describe('Deep linking', () => {
|
|||
await device.launchApp({
|
||||
permissions: { notifications: 'YES' },
|
||||
newInstance: true,
|
||||
url: getDeepLink(DEEPLINK_METHODS.AUTH, data.server, `userId=${ userId }&token=${ authToken }&path=group/${ data.groups.private.name }`),
|
||||
sourceApp: 'com.apple.mobilesafari'
|
||||
url: getDeepLink(DEEPLINK_METHODS.AUTH, data.server, `userId=${ userId }${amp}token=${ authToken }${amp}path=group/${ data.groups.private.name }`),
|
||||
});
|
||||
await waitFor(element(by.id(`room-view-title-${ data.groups.private.name }`))).toExist().withTimeout(30000);
|
||||
await tapBack();
|
||||
|
@ -56,6 +61,8 @@ describe('Deep linking', () => {
|
|||
await element(by.id('register-view-username')).replaceText(data.registeringUser4.username);
|
||||
await element(by.id('register-view-email')).replaceText(data.registeringUser4.email);
|
||||
await element(by.id('register-view-password')).typeText(data.registeringUser4.password);
|
||||
await device.pressBack();
|
||||
await element(by.type(scrollViewType)).atIndex(0).scrollTo('bottom');
|
||||
await element(by.id('register-view-submit')).tap();
|
||||
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
|
||||
await authAndNavigate();
|
||||
|
@ -69,7 +76,7 @@ describe('Deep linking', () => {
|
|||
permissions: { notifications: 'YES' },
|
||||
newInstance: true,
|
||||
url: getDeepLink(DEEPLINK_METHODS.ROOM, data.server, `path=group/${ data.groups.private.name }`),
|
||||
sourceApp: 'com.apple.mobilesafari'
|
||||
|
||||
});
|
||||
await waitFor(element(by.id(`room-view-title-${ data.groups.private.name }`))).toExist().withTimeout(10000);
|
||||
});
|
||||
|
@ -80,7 +87,7 @@ describe('Deep linking', () => {
|
|||
permissions: { notifications: 'YES' },
|
||||
newInstance: true,
|
||||
url: getDeepLink(DEEPLINK_METHODS.ROOM, data.server, `rid=${ roomResult.data.group._id }`),
|
||||
sourceApp: 'com.apple.mobilesafari'
|
||||
|
||||
});
|
||||
await waitFor(element(by.id(`room-view-title-${ data.groups.private.name }`))).toExist().withTimeout(15000);
|
||||
await tapBack();
|
||||
|
@ -99,7 +106,7 @@ describe('Deep linking', () => {
|
|||
permissions: { notifications: 'YES' },
|
||||
newInstance: true,
|
||||
url: getDeepLink(DEEPLINK_METHODS.ROOM, data.server, `path=group/${ data.groups.private.name }`),
|
||||
sourceApp: 'com.apple.mobilesafari'
|
||||
|
||||
});
|
||||
await waitFor(element(by.id(`room-view-title-${ data.groups.private.name }`))).toExist().withTimeout(10000);
|
||||
});
|
||||
|
@ -109,7 +116,7 @@ describe('Deep linking', () => {
|
|||
permissions: { notifications: 'YES' },
|
||||
newInstance: true,
|
||||
url: getDeepLink(DEEPLINK_METHODS.ROOM, 'https://google.com'),
|
||||
sourceApp: 'com.apple.mobilesafari'
|
||||
|
||||
});
|
||||
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
|
||||
await checkServer(data.server);
|
||||
|
|
Loading…
Reference in New Issue