Home Manual Reference Source

src/page_objects/web/contacts/delete/delete.modal.js

import BaseModalPage from "../../general/base.modal.js";

/** BaseContactFormPage
 * @extends BaseModalPage
 */
class DeleteModal extends BaseModalPage {
  /**
   * @param {args} args Args from controller
   */
  constructor(args) {
    super(args);
  }

  // PAGE ELEMENTS
  /* eslint-disable require-jsdoc */
  subHeader() {
    return this.element("#displayedFullScreenModal h6");
  }

  cancelButton() {
    return this.element(
      '[class*="DeleteContactComponent"] [class*="Button__secondary"]'
    );
  }

  deleteButton() {
    return this.element(
      '[class*="DeleteContactComponent"] [class*="Button__primary"]'
    );
  }
  /* eslint-enable require-jsdoc */

  // PAGE FUNCTIONS

  /**
   * Returns the text for sub header in delete modal
   * @return {String} Sub header text
   */
  async getModalSubHeaderText() {
    return await this.subHeader().getText();
  }

  /**
   * Click delete button
   */
  async clickDeleteButton() {
    await this.deleteButton().click();
  }

  /**
   * Click the cancel button
   */
  async clickCancelButton() {
    await this.cancelButton().click();
  }
}

export default DeleteModal;