import { browser, element, by, protractor, ExpectedConditions as EC, WebElement, error, Key } from 'protractor'; export class ClinicsPage { //Clinics Elements clinicsGrid = element(by.className('primeng-datatable-container col-12')); createNewClinic = element(by.buttonText('Create New Clinic')); accountNumber = element(by.id('accountNumber')); clinicName = element(by.id('companyName')); email = element(by.id('email')); clinicNotes = element(by.id('Clinic_ClinicNotes')); billingNotes = element(by.id('Clinic_BillingNotes')); clinicVisible= element(by.id('Clinic_ClinicNotesVisibleToDriver')); activeClinic = element(by.id('active')); nextStep = element(by.buttonText('Next Step')); //Set Up Current Location addressLine1 = element(by.id('address1Input')); addressLine2 = element(by.id('address2Input')); city = element(by.id('AddressCity')); state = element(by.id('AddressState')); postalCode = element(by.id('AddressPostalCode')); country = element(by.id('select2-countrySelectInput-container')); countryList = element(by.id('select2-countrySelectInput-results')); cList = this.countryList.all(by.tagName('li')); saveClinic= element(by.buttonText('Save')); async waitForItemToBeVisible(element) { return await browser.wait(EC.visibilityOf(element)); } async waitForItemNotToBePresent(element) { return await browser.wait(EC.not(EC.visibilityOf(element))); } async createClinic() { await this.createNewClinic.click(); await this.accountNumber.sendKeys('123456'); await this.clinicName.sendKeys('TEST CLINIC'); await this.email.sendKeys('kat.test@gmail.com'); await this.clinicNotes.sendKeys('Test Notes'); //await this.clinicVisible.click(); await this.nextStep.click(); await this.addressLine1.sendKeys('11748 MAGNOLIA AVE'); await this.city.sendKeys('RIVERSIDE'); await this.state.sendKeys('CA'); await this.postalCode.sendKeys('92503'); await this.country.click(); await this.cList.get(1).click(); await this.nextStep.click(); await this.nextStep.click(); await browser.sleep(2000); await this.saveClinic.click(); } }