Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

package automation.Pages;

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;

import automation.ExplorerSuite;
import automation.SharedCodeClass;

import org.junit.Assert;

public class EDI_PDI_VerifyCopyPaste extends EDI_PDI_VerifyQuickView_DetailView_PrintFunctionality {
private String pdiNumberDentalClaim = "200617203000952";
private String pdiNumberProfessionalClaim = "200617203000825";
private String pdiNumberInstitutionalClaim = "200617203000832";

private String quickViewElementId = "DIV_quickView_ewv_1";
private String detailViewElementId = "DIV_detailView_ewv_1";

public void localRunner() throws Exception {
System.out.println("Inside of EDI_PDI_VerifyCopyPaste.localRunner()!");

goToEdiWebViewerPage();

// Verify Copy Address Functionalities for Dental Claim Quick View.
retrieveClaimInformationUsingEwvSearchPage(pdiNumberDentalClaim);
verifyQuickViewSelected();
verifyPatientAddressCopyCapability(quickViewElementId);
verifyServiceLocationAddressCopyCapability(quickViewElementId);
verifyBillingProviderAddressCopyCapability(quickViewElementId);

// Verify Copy Address Functionalities for Dental Claim Detail View.
SharedCodeClass.clickById("TAB_detailTab_ewvMaster_1");
Thread.sleep(1000);
verifyDetailViewSelected();
verifyPatientAddressCopyCapability(detailViewElementId);
verifyServiceLocationAddressCopyCapability(detailViewElementId);
verifyBillingProviderAddressCopyCapability(detailViewElementId);

goToEdiWebViewerPage_v2();

// Verify Copy Address Functionalities for Professional Claim Quick View.
retrieveClaimInformationUsingEwvSearchPage(pdiNumberProfessionalClaim);
verifyQuickViewSelected();
verifyPatientAddressCopyCapability(quickViewElementId);
verifyServiceLocationAddressCopyCapability(quickViewElementId);
verifyBillingProviderAddressCopyCapability(quickViewElementId);

// Verify Copy Address Functionalities for Professional Claim Detail View.
SharedCodeClass.clickById("TAB_detailTab_ewvMaster_1");
Thread.sleep(1000);
verifyDetailViewSelected();
verifyPatientAddressCopyCapability(detailViewElementId);
verifyServiceLocationAddressCopyCapability(detailViewElementId);
verifyBillingProviderAddressCopyCapability(detailViewElementId);

goToEdiWebViewerPage_v2();

// Verify Copy Address Functionalities for Institutional Claim Quick View.
retrieveClaimInformationUsingEwvSearchPage(pdiNumberInstitutionalClaim);
verifyQuickViewSelected();
verifyPatientAddressCopyCapability(quickViewElementId);
verifyServiceLocationAddressCopyCapability(quickViewElementId);
verifyBillingProviderAddressCopyCapability(quickViewElementId);

// Verify Copy Address Functionalities for Institutional Claim Detail View.
SharedCodeClass.clickById("TAB_detailTab_ewvMaster_1");
Thread.sleep(1000);
verifyDetailViewSelected();
verifyPatientAddressCopyCapability(detailViewElementId);
verifyServiceLocationAddressCopyCapability(detailViewElementId);
verifyBillingProviderAddressCopyCapability(detailViewElementId);
}

public void verifyPatientAddressCopyCapability(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement copyAddressIconElement = quickViewOrDetailViewElement.findElement(By.id("IMG_patientAddress_patientInfo_1"));

copyAddressIconElement.click();
Thread.sleep(1000);

String expectedString = getExpectedPatientAddressString(quickViewOrDetailViewElementId);
String stringFromClipboard = getStringFromClipboard();

// System.out.println("expectedString.length() = " + expectedString.length());
// System.out.println("stringFromClipboard.length() = " + stringFromClipboard.length());
//
// System.out.println();
// for (int i = 0; i < expectedString.length(); i++) {
// System.out.println("expectedString.charAt(" + i + ") = ****" + expectedString.charAt(i) + "****");
// System.out.println("stringFromClipboard.charAt(" + i + ") = ****" + stringFromClipboard.charAt(i) + "****");
// Assert.assertEquals(expectedString.charAt(i), stringFromClipboard.charAt(i));
// System.out.println();
// }

Assert.assertEquals("String from Clipboard does not match the expected Patient Address string!",
expectedString, stringFromClipboard);
}

public void verifyServiceLocationAddressCopyCapability(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement copyAddressIconElement = quickViewOrDetailViewElement.findElement(By.id("IMG_serviceAddress_vendorInfo_1"));

copyAddressIconElement.click();
Thread.sleep(1000);

String expectedString = getExpectedServiceLocationAddressString(quickViewOrDetailViewElementId);
String stringFromClipboard = getStringFromClipboard();

Assert.assertEquals("String from Clipboard does not match the expected Service Location Address string!",
expectedString, stringFromClipboard);
}

public void verifyBillingProviderAddressCopyCapability(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement copyAddressIconElement = quickViewOrDetailViewElement.findElement(By.id("IMG_providerAddress_vendorInfo_1"));

copyAddressIconElement.click();
Thread.sleep(1000);

String expectedString = getExpectedBillingProviderAddressString(quickViewOrDetailViewElementId);
String stringFromClipboard = getStringFromClipboard();

Assert.assertEquals("String from Clipboard does not match the expected Billing Provider Address string!",
expectedString, stringFromClipboard);
}

public String getStringFromClipboard() throws Exception {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Clipboard clipboard = toolkit.getSystemClipboard();
String result = (String) clipboard.getData(DataFlavor.stringFlavor);
// System.out.println("String from Clipboard = " + result);
return result;
}

public String getExpectedPatientAddressString(String quickViewOrDetailViewElementId) throws Exception {
String expectedString = getPatientFirstNameString(quickViewOrDetailViewElementId) + " " +
getPatientLastNameString(quickViewOrDetailViewElementId) + "\n";

if (!getPatientAddressOneString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getPatientAddressOneString(quickViewOrDetailViewElementId) + "\n";
}

if (!getPatientAddressTwoString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getPatientAddressTwoString(quickViewOrDetailViewElementId) + "\n";
}

expectedString += getPatientCityString(quickViewOrDetailViewElementId) + ", " + getPatientStateString(quickViewOrDetailViewElementId) + " " +
getPatientZipCodeString(quickViewOrDetailViewElementId) + "\n";

if (!getPatientCountryString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getPatientCountryString(quickViewOrDetailViewElementId);
}

return expectedString;
}

public String getExpectedServiceLocationAddressString(String quickViewOrDetailViewElementId) throws Exception {
String expectedString = getServiceLocationNameString(quickViewOrDetailViewElementId) + "\n";

if (!getServiceLocationAddressOneString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getServiceLocationAddressOneString(quickViewOrDetailViewElementId) + "\n";
}

if (!getServiceLocationAddressTwoString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getServiceLocationAddressTwoString(quickViewOrDetailViewElementId) + "\n";
}

expectedString += getServiceLocationCityString(quickViewOrDetailViewElementId) + ", " +
getServiceLocationStateString(quickViewOrDetailViewElementId) + " " +
getServiceLocationZipCodeString(quickViewOrDetailViewElementId) + "\n";

if (!getServiceLocationCountryString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getServiceLocationCountryString(quickViewOrDetailViewElementId);
}

return expectedString;
}

public String getExpectedBillingProviderAddressString(String quickViewOrDetailViewElementId) throws Exception {
String expectedString = getBillingProviderNameString(quickViewOrDetailViewElementId) + "\n";

if (!getBillingProviderAddressOneString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getBillingProviderAddressOneString(quickViewOrDetailViewElementId) + "\n";
}

if (!getBillingProviderAddressTwoString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getBillingProviderAddressTwoString(quickViewOrDetailViewElementId) + "\n";
}

expectedString += getBillingProviderCityString(quickViewOrDetailViewElementId) + ", " +
getBillingProviderStateString(quickViewOrDetailViewElementId) + " " +
getBillingProviderZipCodeString(quickViewOrDetailViewElementId) + "\n";

if (!getBillingProviderCountryString(quickViewOrDetailViewElementId).isEmpty()) {
expectedString += getBillingProviderCountryString(quickViewOrDetailViewElementId);
}

return expectedString;
}

public String getPatientLastNameString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_lastName_patientInfo_1"));
return elementOfInterest.getText();
}

public String getPatientFirstNameString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_firstName_patientInfo_1"));
return elementOfInterest.getText();
}

public String getPatientAddressOneString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_addressOne_patientInfo_1"));
return elementOfInterest.getText();
}

public String getPatientAddressTwoString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_addressTwo_patientInfo_1"));
return elementOfInterest.getText();
}

public String getPatientCityString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_city_patientInfo_1"));
return elementOfInterest.getText();
}

public String getPatientStateString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_state_patientInfo_1"));
return elementOfInterest.getText();
}

public String getPatientZipCodeString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_zipCode_patientInfo_1"));
return elementOfInterest.getText();
}

public String getPatientCountryString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_country_patientInfo_1"));
return elementOfInterest.getText();
}

public String getServiceLocationNameString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_serviceLocationInfo_vendorName_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getServiceLocationAddressOneString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_serviceLocationInfo_addressLineOne_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getServiceLocationAddressTwoString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_serviceLocationInfo_addressLineTwo_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getServiceLocationCityString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_serviceLocationInfo_city_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getServiceLocationStateString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_serviceLocationInfo_state_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getServiceLocationZipCodeString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_serviceLocationInfo_postalCode_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getServiceLocationCountryString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_serviceLocationInfo_country_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getBillingProviderNameString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_billingProviderInfo_vendorName_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getBillingProviderAddressOneString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_billingProviderInfo_addressLineOne_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getBillingProviderAddressTwoString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_billingProviderInfo_addressLineTwo_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getBillingProviderCityString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_billingProviderInfo_city_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getBillingProviderStateString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_billingProviderInfo_state_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getBillingProviderZipCodeString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_billingProviderInfo_postalCode_vendorInfo_1"));
return elementOfInterest.getText();
}

public String getBillingProviderCountryString(String quickViewOrDetailViewElementId) throws Exception {
WebElement quickViewOrDetailViewElement = driver.findElement(By.id(quickViewOrDetailViewElementId));
WebElement elementOfInterest = quickViewOrDetailViewElement.findElement(By.id("TD_billingProviderInfo_country_vendorInfo_1"));
return elementOfInterest.getText();
}

}