Home Manual Reference Source

src/page_objects/web/call/startingCall.modal.js

import BasePage from "../../base.page.js";

/** 
 * StartCallModal
 * @extends BasePage
 */
class StartingCallModal extends BasePage {
  /**
   * @param {args} args Args from controller
   */
  constructor(args) {
    super(args);
  }

  // PAGE ELEMENTS
  /* eslint-disable require-jsdoc */
  callName() {
    return this.element(
      "div[class^=components-StartingCallModal-StartingCallModal__callName]"
    );
  }

  callStatus() {
    return this.element(
      "div[class^=components-StartingCallModal-StartingCallModal__callStatus]"
    );
  }

  cancelButton() {
    return this.element("button=Cancel");
  }
  /* eslint-enable require-jsdoc */

  // PAGE FUNCTIONS

  /**
   * Waits for video button to be enabled, then clicks it
   * @returns {String} Text from call status
   */
  async getCallStatus() {
    return await this.callStatus().getText();
  }

  /**
   * Enters in extension, then uses keys to select the contact
   */
  async cancelCall() {
    await this.cancelButton().click();
    await this.callName().waitForNotVisible();
  }
}

export default StartingCallModal;