2020-02-22 02:06:05 +08:00
|
|
|
const Create = require('./create');
|
2021-02-26 23:52:17 +08:00
|
|
|
const utilScreenShare = require('../screenshare/util');
|
2021-09-22 11:51:29 +08:00
|
|
|
const e = require('../core/elements');
|
2021-09-23 04:20:02 +08:00
|
|
|
const { VIDEO_LOADING_WAIT_TIME } = require('../core/constants'); // core constants (Timeouts vars imported)
|
2020-02-22 02:06:05 +08:00
|
|
|
|
|
|
|
class Join extends Create {
|
|
|
|
constructor() {
|
2021-09-23 03:22:47 +08:00
|
|
|
super();
|
2020-02-22 02:06:05 +08:00
|
|
|
}
|
|
|
|
|
2020-06-30 09:25:04 +08:00
|
|
|
// Join Existing Breakoutrooms
|
|
|
|
async join(testName) {
|
2020-08-05 02:53:34 +08:00
|
|
|
await this.joinWithUser3(testName);
|
2020-02-22 02:06:05 +08:00
|
|
|
}
|
|
|
|
|
2020-06-30 09:25:04 +08:00
|
|
|
// Check if User Joined in Breakoutrooms
|
|
|
|
async testJoined(testName) {
|
2021-08-14 01:35:00 +08:00
|
|
|
await this.page3.logger('Now executing: ', testName);
|
|
|
|
try {
|
|
|
|
if (testName === 'joinBreakoutroomsWithAudio') {
|
|
|
|
await this.page3.logger('logged in to breakout with audio');
|
2020-07-18 03:12:43 +08:00
|
|
|
|
2021-09-23 04:20:02 +08:00
|
|
|
const breakoutPage2 = await this.page2.getLastTargetPage();
|
|
|
|
await breakoutPage2.bringToFront();
|
2020-08-05 02:53:34 +08:00
|
|
|
|
|
|
|
// Talking indicator bar
|
2021-09-23 04:20:02 +08:00
|
|
|
await breakoutPage2.waitForSelector(e.talkingIndicator);
|
|
|
|
await breakoutPage2.screenshot(testName, '05-breakout-page02-user-joined-with-audio-before-check');
|
2020-08-05 02:53:34 +08:00
|
|
|
|
2021-08-14 01:35:00 +08:00
|
|
|
await this.page3.logger('before pages check');
|
2020-07-18 03:12:43 +08:00
|
|
|
|
2021-09-23 04:20:02 +08:00
|
|
|
const resp = await breakoutPage2.hasElement(e.isTalking);
|
|
|
|
await breakoutPage2.screenshot(testName, '06-breakout-page02-user-joined-with-audio-after-check');
|
2020-07-18 03:12:43 +08:00
|
|
|
|
2021-08-14 01:35:00 +08:00
|
|
|
await this.page3.logger('after pages check');
|
|
|
|
return resp === true;
|
|
|
|
} else if (testName === 'joinBreakoutroomsWithVideo') {
|
|
|
|
await this.page3.logger('logged in to breakout with video');
|
2020-07-18 03:12:43 +08:00
|
|
|
|
2021-09-23 04:20:02 +08:00
|
|
|
const breakoutPage2 = await this.page2.getLastTargetPage();
|
|
|
|
await breakoutPage2.bringToFront();
|
|
|
|
await breakoutPage2.screenshot(testName, '05-breakout-page02-user-joined-with-webcam-success');
|
2021-08-14 01:35:00 +08:00
|
|
|
await this.page3.logger('before pages check');
|
2020-07-18 03:12:43 +08:00
|
|
|
|
2021-09-23 04:20:02 +08:00
|
|
|
// aqui
|
|
|
|
const resp = await breakoutPage2.hasElement(e.videoContainer, true, VIDEO_LOADING_WAIT_TIME);
|
2020-07-18 03:12:43 +08:00
|
|
|
|
2021-09-23 04:20:02 +08:00
|
|
|
await breakoutPage2.screenshot(testName, '06-breakout-page02-user-joined-webcam-before-check');
|
2021-08-14 01:35:00 +08:00
|
|
|
await this.page3.logger('after pages check');
|
2021-09-23 04:20:02 +08:00
|
|
|
|
2021-08-14 01:35:00 +08:00
|
|
|
return resp === true;
|
|
|
|
} else if (testName === 'joinBreakoutroomsAndShareScreen') {
|
|
|
|
await this.page3.logger('logged in to breakout with screenshare');
|
2021-09-23 04:20:02 +08:00
|
|
|
const breakoutPage2 = await this.page2.getLastTargetPage();
|
|
|
|
await breakoutPage2.bringToFront();
|
2021-02-26 23:52:17 +08:00
|
|
|
|
2021-09-23 04:20:02 +08:00
|
|
|
await breakoutPage2.screenshot(testName, '05-breakout-page02-user-joined-screenshare-before-check');
|
2021-08-14 01:35:00 +08:00
|
|
|
await this.page3.logger('before pages check');
|
2021-09-23 04:20:02 +08:00
|
|
|
const resp = await utilScreenShare.getScreenShareBreakoutContainer(breakoutPage2);
|
2021-08-14 01:35:00 +08:00
|
|
|
|
2021-09-23 04:20:02 +08:00
|
|
|
await breakoutPage2.screenshot(testName, '06-breakout-page02-user-joined-screenshare-after-check');
|
2021-09-03 02:31:24 +08:00
|
|
|
this.page2.logger('after pages check');
|
2021-09-23 04:20:02 +08:00
|
|
|
|
2021-08-14 01:35:00 +08:00
|
|
|
return resp === true;
|
|
|
|
} else {
|
2021-09-23 04:20:02 +08:00
|
|
|
await this.page2.page.bringToFront();
|
|
|
|
await this.page2.waitForSelector(e.breakoutRoomsItem);
|
|
|
|
await this.page2.waitAndClick(e.chatButton);
|
|
|
|
await this.page2.waitAndClick(e.breakoutRoomsItem);
|
|
|
|
await this.page2.waitForSelector(e.alreadyConnected);
|
2021-09-03 02:31:24 +08:00
|
|
|
|
2021-09-22 21:11:56 +08:00
|
|
|
return true;
|
2021-08-14 01:35:00 +08:00
|
|
|
}
|
2021-08-26 22:13:18 +08:00
|
|
|
} catch (err) {
|
|
|
|
await this.page3.logger(err);
|
2021-08-14 01:35:00 +08:00
|
|
|
return false;
|
2020-06-30 09:25:04 +08:00
|
|
|
}
|
2020-02-22 02:06:05 +08:00
|
|
|
}
|
|
|
|
|
2020-06-30 09:25:04 +08:00
|
|
|
// Close pages
|
2020-02-22 02:06:05 +08:00
|
|
|
async close() {
|
2021-08-14 01:35:00 +08:00
|
|
|
try {
|
|
|
|
await this.page1.close();
|
|
|
|
await this.page2.close();
|
|
|
|
await this.page3.close();
|
2021-08-26 22:13:18 +08:00
|
|
|
} catch (err) {
|
|
|
|
await this.page3.logger(err);
|
2021-08-14 01:35:00 +08:00
|
|
|
}
|
2020-02-22 02:06:05 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = exports = Join;
|