src/page_objects/web/call/callDetails.panel.js
import BasePage from "../../base.page.js";
/**
* Call Details Panel
* @extends BasePage
*/
class CallDetailsPanel extends BasePage {
/**
* @param {args} args Args from controller
*/
constructor(args) {
super(args);
}
// PAGE ELEMENTS
/* eslint-disable require-jsdoc */
meetingLink() {
return this.element(
"//span[contains(text(), 'Meeting link')]/../following-sibling::dd[1]"
);
}
videoAddress() {
return this.element(
"//dl[contains(@class, 'components-Contacts-ContactDetails__contactDetails')]//span[contains(text(), 'Video address')][1]/../following-sibling::dd[1]"
);
}
/* eslint-enable require-jsdoc */
// PAGE FUNCTIONS
/**
* Parse the call details panel
* @returns {Object} Object of meeting link and video address
*/
async parseCallDetails() {
const meetingLinkText = await this.meetingLink().getText();
const videoAddressText = await this.videoAddress().getText();
return {
meetingLink: meetingLinkText,
videoAddress: videoAddressText
};
}
}
export default CallDetailsPanel;