org.openlmis.pageobjects.AdultCoveragePage.java Source code

Java tutorial

Introduction

Here is the source code for org.openlmis.pageobjects.AdultCoveragePage.java

Source

/*
 * This program is part of the OpenLMIS logistics management information system platform software.
 * Copyright  2013 VillageReach
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
 * You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses. For additional information contact info@OpenLMIS.org.
 */

package org.openlmis.pageobjects;

import org.openlmis.UiUtils.TestWebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;

import java.util.List;
import java.util.Map;

import static com.thoughtworks.selenium.SeleneseTestBase.assertEquals;
import static com.thoughtworks.selenium.SeleneseTestBase.assertFalse;
import static org.openqa.selenium.support.How.ID;

public class AdultCoveragePage extends DistributionTab {

    @FindBy(how = ID, using = "adultCoverageTabLabel")
    private static WebElement adultCoverageTab = null;

    @FindBy(how = ID, using = "adultCoverageTabIcon")
    private static WebElement adultCoverageIcon = null;

    @FindBy(how = ID, using = "adultHeader")
    private static WebElement adultHeaderLabel = null;

    @FindBy(how = ID, using = "groupVaccinationLabel")
    private static WebElement groupVaccinationLabel = null;

    @FindBy(how = ID, using = "targetGroupLabel")
    private static WebElement targetGroupLabel = null;

    @FindBy(how = ID, using = "tetanusFirstLabel")
    private static WebElement tetanusFirstLabel = null;

    @FindBy(how = ID, using = "tetanusSecondFifthLabel")
    private static WebElement tetanusSecondFifthLabel = null;

    @FindBy(how = ID, using = "totalTetanusLabel")
    private static WebElement totalTetanusLabel = null;

    @FindBy(how = ID, using = "coverageRateLabel")
    private static WebElement coverageRateLabel = null;

    @FindBy(how = ID, using = "openedVialsLabel")
    private static WebElement openedVialsLabel = null;

    @FindBy(how = ID, using = "wastageRateLabel")
    private static WebElement wastageRateLabel = null;

    @FindBy(how = ID, using = "healthCenter1Label")
    private static WebElement healthCenter1Label = null;

    @FindBy(how = ID, using = "outreach1Label")
    private static WebElement outreach1Label = null;

    @FindBy(how = ID, using = "total1Label")
    private static WebElement total1Label = null;

    @FindBy(how = ID, using = "healthCenter2To5Label")
    private static WebElement healthCenter2To5Label = null;

    @FindBy(how = ID, using = "outreach2To5Label")
    private static WebElement outreach2To5Label = null;

    @FindBy(how = ID, using = "total2To5Label")
    private static WebElement total2To5Label = null;

    @FindBy(how = ID, using = "pregnantWomenLabel")
    private static WebElement pregnantWomenLabel = null;

    @FindBy(how = ID, using = "mifLabel")
    private static WebElement mifLabel = null;

    @FindBy(how = ID, using = "communityCell")
    private static WebElement communityLabel = null;

    @FindBy(how = ID, using = "studentsLabel")
    private static WebElement studentsLabel = null;

    @FindBy(how = ID, using = "workersLabel")
    private static WebElement workersLabel = null;

    @FindBy(how = ID, using = "studentNotMifLabel")
    private static WebElement studentNotMifLabel = null;

    @FindBy(how = ID, using = "workerNotMif")
    private static WebElement workerNotMifLabel = null;

    @FindBy(how = ID, using = "otherNotMifLabel")
    private static WebElement otherNotMifLabel = null;

    @FindBy(how = ID, using = "totalRowLabel")
    private static WebElement totalRowLabel = null;

    @FindBy(how = ID, using = "totalHealthCenterTetanus1")
    private static WebElement totalHealthCenterTetanus1 = null;

    @FindBy(how = ID, using = "totalOutreachTetanus1")
    private static WebElement totalOutreachTetanus1 = null;

    @FindBy(how = ID, using = "totalTetanus1")
    private static WebElement totalTetanus1 = null;

    @FindBy(how = ID, using = "totalHealthCenterTetanus2To5")
    private static WebElement totalHealthCenterTetanus2To5 = null;

    @FindBy(how = ID, using = "totalOutreachTetanus2To5")
    private static WebElement totalOutreachTetanus2To5 = null;

    @FindBy(how = ID, using = "totalTetanus2To5")
    private static WebElement totalTetanus2To5 = null;

    @FindBy(how = ID, using = "totalTetanus")
    private static WebElement totalTetanus = null;

    @FindBy(how = ID, using = "openedVialInputField")
    private static WebElement openedVialInputField = null;

    @FindBy(how = ID, using = "openedVial")
    private static WebElement openedVialNr = null;

    @FindBy(how = ID, using = "wastageRate")
    private static WebElement wastageRate = null;

    @FindBy(how = ID, using = "adultCoverageApplyNRToAll")
    private static WebElement applyNRAllButton = null;

    @FindBy(how = ID, using = "button_OK")
    private static WebElement okButton = null;

    @FindBy(how = ID, using = "button_Cancel")
    private static WebElement cancelButton = null;

    public AdultCoveragePage(TestWebDriver driver) {
        super(driver);
    }

    @Override
    public void verifyIndicator(String color) {
        verifyOverallIndicator(adultCoverageIcon, color);
    }

    @Override
    public void enterValues(List<Map<String, String>> dataMapList) {
        Map<String, String> dataMap = dataMapList.get(0);
        for (int rowNumber = 1; rowNumber <= 7; rowNumber++) {
            enterOutreachFirstInput(rowNumber, dataMap.get("outreach1"));
            enterOutreach2To5Input(rowNumber, dataMap.get("outreach25"));
            if (rowNumber < 3 || rowNumber > 6) {
                enterHealthCenterFirstInput(rowNumber, dataMap.get("healthCenter1"));
                enterHealthCenter2To5Input(rowNumber, dataMap.get("healthCenter25"));
            }
        }
        enterOpenedVialInputField(dataMap.get("openedVial"));
    }

    @Override
    public void verifyData(List<Map<String, String>> map) {
        Map<String, String> dataMap = map.get(0);
        assertEquals(dataMap.get("targetGroup"), getTargetGroup(1));
        assertEquals(dataMap.get("healthCenter1"), getHealthCenterFirstInput(1));
        assertEquals(dataMap.get("outreach1"), getOutreachFirstInput(1));
        assertEquals(dataMap.get("total1"), getTotalTetanusFirst(1));
        assertEquals(dataMap.get("healthCenter25"), getHealthCenter2To5Input(1));
        assertEquals(dataMap.get("outreach25"), getOutreach2To5Input(1));
        assertEquals(dataMap.get("total2"), getTotalTetanus2To5(1));
        assertEquals(dataMap.get("total3"), getTotalTetanus(1));
        assertEquals(dataMap.get("coverageRate"), getCoverageRate(1));
        assertEquals(dataMap.get("openedVial"), getOpenedVialInputField());
        assertEquals(dataMap.get("wastageRate"), getWastageRate());
    }

    @Override
    public void navigate() {
        testWebDriver.waitForElementToAppear(adultCoverageTab);
        adultCoverageTab.click();
        removeFocusFromElement();
    }

    @Override
    public void verifyAllFieldsDisabled() {
        for (int rowNumber = 1; rowNumber <= 7; rowNumber++) {
            assertFalse(isOutreachFirstEnabled(rowNumber));
            assertFalse(isOutreach2To5Enabled(rowNumber));
            if (rowNumber < 3 || rowNumber > 6) {
                assertFalse(isHealthCenterFirstEnabled(rowNumber));
                assertFalse(isHealthCenter2To5Enabled(rowNumber));
            }
        }
        assertFalse(isOpenedVialsEnabled());
    }

    @Override
    public void removeFocusFromElement() {
        testWebDriver.waitForElementToAppear(adultHeaderLabel);
        adultHeaderLabel.click();
    }

    public String getAdultCoveragePageHeader() {
        testWebDriver.waitForElementToAppear(adultHeaderLabel);
        return adultHeaderLabel.getText();
    }

    public String getAdultCoverageTabLabel() {
        testWebDriver.waitForElementToAppear(adultCoverageTab);
        return adultCoverageTab.getText();
    }

    public String getGroupVaccinationLabel() {
        testWebDriver.waitForElementToAppear(groupVaccinationLabel);
        return groupVaccinationLabel.getText();
    }

    public String getTargetGroupLabel() {
        testWebDriver.waitForElementToAppear(targetGroupLabel);
        return targetGroupLabel.getText();
    }

    public String getTetanusFirstLabel() {
        testWebDriver.waitForElementToAppear(tetanusFirstLabel);
        return tetanusFirstLabel.getText();
    }

    public String getTetanusSecondFifthLabel() {
        testWebDriver.waitForElementToAppear(tetanusSecondFifthLabel);
        return tetanusSecondFifthLabel.getText();
    }

    public String getTotalTetanusLabel() {
        testWebDriver.waitForElementToAppear(totalTetanusLabel);
        return totalTetanusLabel.getText();
    }

    public String getCoverageRateLabel() {
        testWebDriver.waitForElementToAppear(coverageRateLabel);
        return coverageRateLabel.getText();
    }

    public String getOpenedVialsLabel() {
        testWebDriver.waitForElementToAppear(openedVialsLabel);
        return openedVialsLabel.getText();
    }

    public String getWastageRateLabel() {
        testWebDriver.waitForElementToAppear(wastageRateLabel);
        return wastageRateLabel.getText();
    }

    public String getHealthCenter1Label() {
        testWebDriver.waitForElementToAppear(healthCenter1Label);
        return healthCenter1Label.getText();
    }

    public String getOutreach1Label() {
        testWebDriver.waitForElementToAppear(outreach1Label);
        return outreach1Label.getText();
    }

    public String getTotal1Label() {
        testWebDriver.waitForElementToAppear(total1Label);
        return total1Label.getText();
    }

    public String getHealthCenter2To5Label() {
        testWebDriver.waitForElementToAppear(healthCenter2To5Label);
        return healthCenter2To5Label.getText();
    }

    public String getOutreach2To5Label() {
        testWebDriver.waitForElementToAppear(outreach2To5Label);
        return outreach2To5Label.getText();
    }

    public String getTotal2To5Label() {
        testWebDriver.waitForElementToAppear(total2To5Label);
        return total2To5Label.getText();
    }

    public String getPregnantWomenLabel() {
        testWebDriver.waitForElementToAppear(pregnantWomenLabel);
        return pregnantWomenLabel.getText();
    }

    public String getMifLabel() {
        testWebDriver.waitForElementToAppear(mifLabel);
        return mifLabel.getText();
    }

    public String getCommunityLabel() {
        testWebDriver.waitForElementToAppear(communityLabel);
        return communityLabel.getText();
    }

    public String getStudentsLabel() {
        testWebDriver.waitForElementToAppear(studentsLabel);
        return studentsLabel.getText();
    }

    public String getWorkersLabel() {
        testWebDriver.waitForElementToAppear(workersLabel);
        return workersLabel.getText();
    }

    public String getStudentNotMifLabel() {
        testWebDriver.waitForElementToAppear(studentNotMifLabel);
        return studentNotMifLabel.getText();
    }

    public String getWorkerNotMifLabel() {
        testWebDriver.waitForElementToAppear(workerNotMifLabel);
        return workerNotMifLabel.getText();
    }

    public String getOtherNotMifLabel() {
        testWebDriver.waitForElementToAppear(otherNotMifLabel);
        return otherNotMifLabel.getText();
    }

    public String getTotalRowLabel() {
        testWebDriver.waitForElementToAppear(totalRowLabel);
        return totalRowLabel.getText();
    }

    public String getTotalHealthCenterTetanus1() {
        testWebDriver.waitForElementToAppear(totalHealthCenterTetanus1);
        return totalHealthCenterTetanus1.getText();
    }

    public String getTotalOutreachTetanus1() {
        testWebDriver.waitForElementToAppear(totalOutreachTetanus1);
        return totalOutreachTetanus1.getText();
    }

    public String getTotalTetanus1() {
        testWebDriver.waitForElementToAppear(totalTetanus1);
        return totalTetanus1.getText();
    }

    public String getTotalHealthCenterTetanus2To5() {
        testWebDriver.waitForElementToAppear(totalHealthCenterTetanus2To5);
        return totalHealthCenterTetanus2To5.getText();
    }

    public String getTotalOutreachTetanus2To5() {
        testWebDriver.waitForElementToAppear(totalOutreachTetanus2To5);
        return totalOutreachTetanus2To5.getText();
    }

    public String getTotalTetanus2To5() {
        testWebDriver.waitForElementToAppear(totalTetanus2To5);
        return totalTetanus2To5.getText();
    }

    public String getTotalTetanus() {
        testWebDriver.waitForElementToAppear(totalTetanus);
        return totalTetanus.getText();
    }

    public void enterHealthCenterFirstInput(int rowNumber, String value) {
        WebElement healthCenter1 = testWebDriver.getElementById("healthCenter1_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter1);
        healthCenter1.sendKeys(value);
        removeFocusFromElement();
    }

    public void enterHealthCenter2To5Input(int rowNumber, String value) {
        WebElement healthCenter2To5 = testWebDriver.getElementById("healthCenter2To5_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter2To5);
        healthCenter2To5.sendKeys(value);
        removeFocusFromElement();
    }

    public void enterOutreachFirstInput(int rowNumber, String value) {
        WebElement outreach1 = testWebDriver.getElementById("outreach1_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach1);
        outreach1.sendKeys(value);
        removeFocusFromElement();
    }

    public void enterOutreach2To5Input(int rowNumber, String value) {
        WebElement outreach2To5 = testWebDriver.getElementById("outreach2To5_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach2To5);
        outreach2To5.sendKeys(value);
        removeFocusFromElement();
    }

    public String getHealthCenterFirstInput(int rowNumber) {
        WebElement healthCenter1 = testWebDriver.getElementById("healthCenter1_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter1);
        return healthCenter1.getAttribute("value");
    }

    public String getHealthCenter2To5Input(int rowNumber) {
        WebElement healthCenter2To5 = testWebDriver.getElementById("healthCenter2To5_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter2To5);
        return healthCenter2To5.getAttribute("value");
    }

    public String getOutreachFirstInput(int rowNumber) {
        WebElement outreach1 = testWebDriver.getElementById("outreach1_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach1);
        return outreach1.getAttribute("value");
    }

    public String getOutreach2To5Input(int rowNumber) {
        WebElement outreach2To5 = testWebDriver.getElementById("outreach2To5_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach2To5);
        return outreach2To5.getAttribute("value");
    }

    public boolean isHealthCenterFirstEnabled(int rowNumber) {
        WebElement healthCenter1 = testWebDriver.getElementById("healthCenter1_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter1);
        return healthCenter1.isEnabled();
    }

    public boolean isHealthCenter2To5Enabled(int rowNumber) {
        WebElement healthCenter2To5 = testWebDriver.getElementById("healthCenter2To5_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter2To5);
        return healthCenter2To5.isEnabled();
    }

    public boolean isOutreachFirstEnabled(int rowNumber) {
        WebElement outreach1 = testWebDriver.getElementById("outreach1_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach1);
        return outreach1.isEnabled();
    }

    public boolean isOutreach2To5Enabled(int rowNumber) {
        WebElement outreach2To5 = testWebDriver.getElementById("outreach2To5_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach2To5);
        return outreach2To5.isEnabled();
    }

    public void applyHealthCenterFirstNr(int rowNumber) {
        WebElement healthCenter1Nr = testWebDriver.getElementById("healthCenter1Nr_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter1Nr);
        healthCenter1Nr.click();
        removeFocusFromElement();
    }

    public void applyHealthCenter2To5Nr(int rowNumber) {
        WebElement healthCenter2To5Nr = testWebDriver.getElementById("healthCenter2To5Nr_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter2To5Nr);
        healthCenter2To5Nr.click();
        removeFocusFromElement();
    }

    public void applyOutreach2To5Nr(int rowNumber) {
        WebElement outreach2To5Nr = testWebDriver.getElementById("outreach2To5Nr_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach2To5Nr);
        outreach2To5Nr.click();
        removeFocusFromElement();
    }

    public boolean isHealthCenterFirstNrSelected(int rowNumber) {
        WebElement healthCenter1Nr = testWebDriver.getElementById("healthCenter1Nr_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter1Nr);
        return healthCenter1Nr.isSelected();
    }

    public boolean isHealthCenter2To5NrSelected(int rowNumber) {
        WebElement healthCenter2To5Nr = testWebDriver.getElementById("healthCenter2To5Nr_" + rowNumber);
        testWebDriver.waitForElementToAppear(healthCenter2To5Nr);
        return healthCenter2To5Nr.isSelected();
    }

    public boolean isOutreachFirstNrSelected(int rowNumber) {
        WebElement outreach1Nr = testWebDriver.getElementById("outreach1Nr_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach1Nr);
        return outreach1Nr.isSelected();
    }

    public boolean isOutreach2To5NrSelected(int rowNumber) {
        WebElement outreach2To5Nr = testWebDriver.getElementById("outreach2To5Nr_" + rowNumber);
        testWebDriver.waitForElementToAppear(outreach2To5Nr);
        return outreach2To5Nr.isSelected();
    }

    public void enterOpenedVialInputField(String value) {
        testWebDriver.waitForElementToAppear(openedVialInputField);
        openedVialInputField.sendKeys(value);
        removeFocusFromElement();
    }

    public String getOpenedVialInputField() {
        testWebDriver.waitForElementToAppear(openedVialInputField);
        return openedVialInputField.getAttribute("value");
    }

    public void applyNrToOpenedVials() {
        testWebDriver.waitForElementToAppear(openedVialNr);
        openedVialNr.click();
        removeFocusFromElement();
    }

    public boolean isOpenedVialsEnabled() {
        testWebDriver.waitForElementToAppear(openedVialInputField);
        return openedVialInputField.isEnabled();
    }

    public String getTotalTetanusFirst(int rowNumber) {
        WebElement totalTetanus1 = testWebDriver.getElementById("totalTetanus1_" + rowNumber);
        testWebDriver.waitForElementToAppear(totalTetanus1);
        return totalTetanus1.getText();
    }

    public String getTotalTetanus2To5(int rowNumber) {
        WebElement totalTetanus2To5 = testWebDriver.getElementById("totalTetanus2To5_" + rowNumber);
        testWebDriver.waitForElementToAppear(totalTetanus2To5);
        return totalTetanus2To5.getText();
    }

    public String getTotalTetanus(int rowNumber) {
        WebElement totalTetanus = testWebDriver.getElementById("totalTetanus_" + rowNumber);
        testWebDriver.waitForElementToAppear(totalTetanus);
        return totalTetanus.getText();
    }

    public String getCoverageRate(int rowNumber) {
        WebElement coverageRate = testWebDriver.getElementById("coverageRate_" + rowNumber);
        testWebDriver.waitForElementToAppear(coverageRate);
        return coverageRate.getText();
    }

    public String getTargetGroup(int rowNumber) {
        WebElement targetGroup = testWebDriver.getElementById("targetGroup_" + rowNumber);
        testWebDriver.waitForElementToAppear(targetGroup);
        return targetGroup.getText();
    }

    public String getWastageRate() {
        testWebDriver.waitForElementToAppear(wastageRate);
        return wastageRate.getText();
    }

    public void clickApplyNrToAll() {
        testWebDriver.waitForElementToAppear(applyNRAllButton);
        applyNRAllButton.click();
    }

    public void clickOK() {
        testWebDriver.waitForElementToAppear(okButton);
        okButton.click();
    }

    public void clickCancel() {
        testWebDriver.waitForElementToAppear(cancelButton);
        cancelButton.click();
    }

    public void enterDataInAllFields() {
        for (int rowNumber = 1; rowNumber <= 7; rowNumber++) {
            enterOutreachFirstInput(rowNumber, "2" + rowNumber);
            enterOutreach2To5Input(rowNumber, "4" + rowNumber);
            if (rowNumber < 3 || rowNumber > 6) {
                enterHealthCenterFirstInput(rowNumber, "1" + rowNumber);
                enterHealthCenter2To5Input(rowNumber, "3" + rowNumber);
            }
        }
        enterOpenedVialInputField("999");
    }

}