src/page_objects/web/contacts/create/createMeeting.modal.js
import BaseContactFormPage from "./base.contactForm.js";
/** CreateMeetingModal
* @extends BasePage
*/
class CreateMeetingModal extends BaseContactFormPage {
/**
* @param {args} args Args from controller
*/
constructor(args) {
super(args);
}
// PAGE ELEMENTS
/* eslint-disable require-jsdoc */
nameField() {
return this.element('//label[contains(string(), "Name")]/../input');
}
moderatorField() {
return this.element("input#moderator");
}
passcodeField() {
return this.element("input[name=pin]");
}
descriptionField() {
return this.element("textarea[name=meetingDescription]");
}
lecturerField() {
return this.element("input#lecturer");
}
cancelButton() {
return this.element("button=Cancel");
}
saveButton() {
return this.element("button=Save");
}
closeModalX() {
return this.element("button#closeModalButton");
}
/* eslint-enable require-jsdoc */
// PAGE FUNCTIONS
/**
* Fill create form and save
* @param {String} name Name of meeting
*/
async fillFormAndSave(name) {
await this.nameField().setValue(name);
await this.browser.keys("Down arrow");
await this.saveButton().click();
await this.saveButton().waitForNotVisible();
}
}
export default CreateMeetingModal;