navigateToRoom

This commit is contained in:
Diego Mello 2020-05-20 11:58:41 -03:00
parent 470145e75c
commit 3fbced85bb
7 changed files with 37 additions and 68 deletions

View File

@ -76,6 +76,27 @@ async function sleep(ms) {
return new Promise(res => setTimeout(res, ms));
}
async function searchRoom(room) {
if (device.getPlatform() === 'ios') {
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
} else {
await waitFor(element(by.id('rooms-list-view-search-button'))).toExist().withTimeout(2000);
await element(by.id('rooms-list-view-search-button')).tap();
}
await waitFor(element(by.id('rooms-list-view-search-input'))).toExist().withTimeout(2000);
await element(by.id('rooms-list-view-search-input')).typeText(room);
await sleep(2000);
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toBeVisible().withTimeout(60000);
await expect(element(by.id(`rooms-list-view-item-${ room }`))).toBeVisible();
}
async function navigateToRoom(room) {
await searchRoom(room);
await element(by.id(`rooms-list-view-item-${ room }`)).tap();
await waitFor(element(by.id(`room-view-title-${ room }`))).toBeVisible().withTimeout(5000);
await expect(element(by.id(`room-view-title-${ room }`))).toBeVisible();
}
module.exports = {
navigateToWorkspace,
navigateToLogin,
@ -84,5 +105,7 @@ module.exports = {
logout,
createUser,
tapBack,
sleep
sleep,
searchRoom,
navigateToRoom
};

View File

@ -3,7 +3,7 @@ const {
} = require('detox');
const OTP = require('otp.js');
const GA = OTP.googleAuthenticator;
const { navigateToLogin, login, tapBack, sleep, createUser } = require('../../helpers/app');
const { navigateToLogin, login, tapBack, sleep, navigateToRoom } = require('../../helpers/app');
const data = require('../../data');
describe('Broadcast room', () => {
@ -71,15 +71,7 @@ describe('Broadcast room', () => {
await sleep(1000);
await element(by.id('two-factor-send')).tap();
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
await element(by.id('rooms-list-view-search-input')).typeText(`broadcast${ data.random }`);
await sleep(2000);
await waitFor(element(by.id(`rooms-list-view-item-broadcast${ data.random }`))).toExist().withTimeout(60000);
await expect(element(by.id(`rooms-list-view-item-broadcast${ data.random }`))).toExist();
await element(by.id(`rooms-list-view-item-broadcast${ data.random }`)).tap();
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(5000);
await waitFor(element(by.id(`room-view-title-broadcast${ data.random }`))).toBeVisible().withTimeout(60000);
await expect(element(by.id(`room-view-title-broadcast${ data.random }`))).toBeVisible();
await navigateToRoom(`broadcast${ data.random }`);
await sleep(1000);
});

View File

@ -2,7 +2,7 @@ const {
device, expect, element, by, waitFor
} = require('detox');
const data = require('../../data');
const { tapBack, sleep } = require('../../helpers/app');
const { tapBack, sleep, navigateToRoom } = require('../../helpers/app');
const room = 'detox-public';
@ -14,16 +14,6 @@ async function mockMessage(message) {
await sleep(1000);
};
async function navigateToRoom() {
await sleep(2000);
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
await element(by.id('rooms-list-view-search-input')).typeText(room);
await sleep(2000);
await waitFor(element(by.id(`rooms-list-view-item-${ room }`)).atIndex(0)).toBeVisible().withTimeout(60000);
await element(by.id(`rooms-list-view-item-${ room }`)).atIndex(0).tap();
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(5000);
}
async function navigateToRoomActions() {
await sleep(2000);
await element(by.id('room-view-header-actions')).tap();
@ -34,7 +24,7 @@ async function navigateToRoomActions() {
describe('Join public room', () => {
before(async() => {
await device.launchApp({ newInstance: true });
await navigateToRoom();
await navigateToRoom(room);
});
describe('Render', async() => {

View File

@ -1,7 +1,7 @@
const {
device, expect, element, by, waitFor
} = require('detox');
const { logout, tapBack, sleep } = require('../../helpers/app');
const { logout, tapBack, sleep, navigateToRoom } = require('../../helpers/app');
describe('Rooms list screen', () => {
describe('Render', () => {
@ -27,22 +27,7 @@ describe('Rooms list screen', () => {
describe('Usage', () => {
it('should search room and navigate', async() => {
if (device.getPlatform() === 'ios') {
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
} else {
await waitFor(element(by.id('rooms-list-view-search-button'))).toExist().withTimeout(2000);
await element(by.id('rooms-list-view-search-button')).tap();
}
await waitFor(element(by.id('rooms-list-view-search-input'))).toExist().withTimeout(2000);
await element(by.id('rooms-list-view-search-input')).typeText('rocket.cat');
await sleep(2000);
await waitFor(element(by.id('rooms-list-view-item-rocket.cat'))).toBeVisible().withTimeout(60000);
await expect(element(by.id('rooms-list-view-item-rocket.cat'))).toBeVisible();
await element(by.id('rooms-list-view-item-rocket.cat')).tap();
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(10000);
await expect(element(by.id('room-view'))).toBeVisible();
await waitFor(element(by.id('room-view-title-rocket.cat'))).toBeVisible().withTimeout(60000);
await expect(element(by.id('room-view-title-rocket.cat'))).toBeVisible();
await navigateToRoom('rocket.cat');
await tapBack();
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(2000);
await expect(element(by.id('rooms-list-view'))).toBeVisible();

View File

@ -2,7 +2,7 @@ const {
device, expect, element, by, waitFor
} = require('detox');
const data = require('../../data');
const { tapBack, sleep } = require('../../helpers/app');
const { tapBack, sleep, navigateToRoom } = require('../../helpers/app');
async function mockMessage(message) {
await element(by.id('messagebox-input')).tap();
@ -12,20 +12,11 @@ async function mockMessage(message) {
await expect(element(by.label(`${ data.random }${ message }`)).atIndex(0)).toBeVisible();
};
async function navigateToRoom() {
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
await element(by.id('rooms-list-view-search-input')).typeText(`private${ data.random }`);
await sleep(2000);
await waitFor(element(by.id(`rooms-list-view-item-private${ data.random }`))).toBeVisible().withTimeout(60000);
await element(by.id(`rooms-list-view-item-private${ data.random }`)).tap();
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(5000);
}
describe('Room screen', () => {
describe.only('Room screen', () => {
const mainRoom = `private${ data.random }`;
before(async() => {
await navigateToRoom();
await navigateToRoom(mainRoom);
});
describe('Render', async() => {

View File

@ -2,7 +2,7 @@ const {
device, expect, element, by, waitFor
} = require('detox');
const data = require('../../data');
const { tapBack, sleep } = require('../../helpers/app');
const { tapBack, sleep, navigateToRoom } = require('../../helpers/app');
const scrollDown = 200;
@ -13,13 +13,7 @@ async function navigateToRoomActions(type) {
} else {
room = `private${ data.random }`;
}
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
await element(by.type('UIScrollView')).atIndex(1).scrollTo('top');
await element(by.id('rooms-list-view-search-input')).typeText(room);
await sleep(2000);
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toExist().withTimeout(60000);
await element(by.id(`rooms-list-view-item-${ room }`)).tap();
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(2000);
await navigateToRoom(room);
await sleep(1000);
await element(by.id('room-view-header-actions')).tap();
await waitFor(element(by.id('room-actions-view'))).toBeVisible().withTimeout(5000);

View File

@ -2,7 +2,7 @@ const {
device, expect, element, by, waitFor
} = require('detox');
const data = require('../../data');
const { tapBack, sleep } = require('../../helpers/app');
const { tapBack, sleep, navigateToRoom } = require('../../helpers/app');
async function navigateToRoomInfo(type) {
let room;
@ -11,13 +11,7 @@ async function navigateToRoomInfo(type) {
} else {
room = `private${ data.random }`;
}
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
await element(by.type('UIScrollView')).atIndex(1).swipe('down');
await element(by.id('rooms-list-view-search-input')).typeText(room);
await sleep(2000);
await waitFor(element(by.id(`rooms-list-view-item-${ room }`))).toExist().withTimeout(60000);
await element(by.id(`rooms-list-view-item-${ room }`)).tap();
await waitFor(element(by.id('room-view'))).toBeVisible().withTimeout(2000);
await navigateToRoom(room);
await sleep(1000);
await element(by.id('room-view-header-actions')).tap();
await waitFor(element(by.id('room-actions-view'))).toBeVisible().withTimeout(5000);