src/page_objects/web/call/participantList.panel.js
import BasePage from "../../base.page.js";
/**
* ParticipantListPanel
* @extends BasePage
*/
class ParticipantListPanel extends BasePage {
/**
* @param {*} browser Browser from controller
*/
constructor(browser) {
super(browser);
}
// PAGE ELEMENTS
/* eslint-disable require-jsdoc, max-len */
participantsCount() {
return this.element(".iconsize-participant-list h6 span");
}
participantNames() {
return this.elements(
"[class*='components-InCall-InCallParticipantList-InCallParticipant__name']"
);
}
// PAGE FUNCTIONS
/**
* Returns call participants info from right hand panel participants list
* @return {Object} participants info
*/
async getParticipantsInfo() {
let participantNamesArray = []; // eslint-disable-line
const participantCount = await this.participantsCount().getText();
const participants = await this.participantNames().all();
for (const each of participants) {
participantNamesArray.push(await each.getText());
}
const participantInfo = {
count: participantCount,
names: participantNamesArray
};
return participantInfo;
}
}
export default ParticipantListPanel;