Home Manual Reference Source

src/page_objects/web/call/addParticipant.panel.js

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

/**
 * AddParticipantPanel
 * @extends BasePage
 */
class AddParticipantPanel extends BasePage {
  /**
   * @param {*} browser Browser from controller
   */
  constructor(browser) {
    super(browser);
  }

  // PAGE ELEMENTS
  /* eslint-disable require-jsdoc, max-len */
  searchField() {
    return this.element("[name='addParticipantSearchBar']");
  }

  pulsingAvatar() {
    return this.element(
      "#openDrawer [class*='components-PulsingAvatar-PulsingAvatarComponent__avatar']"
    );
  }

  calleeName() {
    return this.element(
      "#openDrawer [class*='components-StartingCallModal-StartingCallModal__callName']"
    );
  }

  callStatus() {
    return this.element(
      "#openDrawer [class*='components-StartingCallModal-StartingCallModal__callStatus']"
    );
  }

  // PAGE FUNCTIONS

  /**
   * Types and dials to an extension from add participant panel
   * @param  {String}  extension of the user
   */
  async dialByExtension(extension) {
    await this.searchField().setValue(extension);
    await this.keys("Enter");
    await this.pulsingAvatar().waitForVisible(10000);
  }
}

export default AddParticipantPanel;