Home Manual Reference Source

src/page_objects/web/contacts/details/base.contactDetails.panel.js

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

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

  // PAGE ELEMENTS
  /* eslint-disable require-jsdoc */
  contactName() {
    return this.element(
      "h3[class^=components-Contacts-ContactCard__contactName]"
    );
  }

  favoriteStar() {
    return this.element('button[class^="icon icon-favorite"]');
  }

  presenceText() {
    return this.element(
      "div[class^=components-Contacts-ContactCard__presenceText]"
    );
  }

  presenceDot() {
    return this.element(
      "span[class^=components-Contacts-ContactCard__contactPresence]"
    );
  }

  contactDetailsDiv() {
    return this.element(
      "dl[class^=components-Contacts-ContactDetails__contactDetails]"
    );
  }

  videoAddress() {
    return this.element(
      "//span[contains(text(), 'Video address')]/../following-sibling::dd[1]"
    );
  }

  copyCallingDetailsButton() {
    return this.element(
      "button[class^=components-Contacts-ContactDetails__copyCallDetailsButton"
    );
  }

  closePanelX() {
    return this.element("button.icon-cancel");
  }

  chatIcon() {
    return this.element(
      "div[class^=components-Contacts-ContactCard__buttonBar] i.icon-chat"
    );
  }

  /* eslint-enable require-jsdoc */
}

export default BaseContactDetailsPanel;