PrescriptionInteractionAndAllergyTest.java 14.35 KiB
package edu.ncsu.csc.itrust.selenium;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.support.ui.Select;
import edu.ncsu.csc.itrust.enums.TransactionType;
public class PrescriptionInteractionAndAllergyTest extends iTrustSeleniumTest {
private WebDriver driver;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
super.setUp();
Logger logger = Logger.getLogger("");
logger.setLevel(Level.OFF);
gen.clearAllTables();
gen.hcp0();
gen.standardData();
driver = new HtmlUnitDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}
@Test
public void testNoAllergyPrescribe() throws Exception {
driver.get("http://localhost:8080/iTrust/");
driver.findElement(By.id("j_username")).sendKeys("9000000000");
driver.findElement(By.id("j_password")).clear();
driver.findElement(By.id("j_password")).sendKeys("pw");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
// driver.findElement(By.linkText("HCP 1")).click();
driver.findElement(
By.xpath("//div[@id='iTrustMenu']/div/div[4]/div/h2")).click();
driver.findElement(By.linkText("Document Office Visit")).click();
driver.findElement(By.name("UID_PATIENTID")).sendKeys("25");
driver.findElement(By.xpath("//input[@value='25']")).submit();
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.id("update")).click();
assertLogged(TransactionType.OFFICE_VISIT_CREATE, 9000000000L, 25L, "");
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("01864020 - Nexium");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("10");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("03/01/2015");
driver.findElement(By.id("instructions")).clear();
driver.findElement(By.id("instructions")).sendKeys(
"Take very frequently");
driver.findElement(By.id("addprescription")).click();
assertTrue(driver.getPageSource().contains("Nexium"));
}
@Test
public void testAllergicPrescribe() throws Exception {
driver.get("http://localhost:8080/iTrust/");
driver.findElement(By.id("j_username")).sendKeys("9000000000");
driver.findElement(By.id("j_password")).clear();
driver.findElement(By.id("j_password")).sendKeys("pw");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
// driver.findElement(By.linkText("HCP 1")).click();
driver.findElement(
By.xpath("//div[@id='iTrustMenu']/div/div[4]/div/h2")).click();
driver.findElement(By.linkText("Document Office Visit")).click();
driver.findElement(By.name("UID_PATIENTID")).sendKeys("25");
driver.findElement(By.xpath("//input[@value='25']")).submit();
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.id("update")).click();
assertLogged(TransactionType.OFFICE_VISIT_CREATE, 9000000000L, 25L, "");
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("664662530 - Penicillin");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("60");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("02/26/2015");
driver.findElement(By.id("endDate")).clear();
driver.findElement(By.id("endDate")).sendKeys("02/26/2028");
driver.findElement(By.id("instructions")).clear();
driver.findElement(By.id("instructions")).sendKeys("Take frequently");
driver.findElement(By.id("addprescription")).click();
assertTrue(driver.getPageSource().contains("Penicillin"));
}
@Test
public void testPrescribeOverrideCancel() throws Exception {
driver.get("http://localhost:8080/iTrust/");
driver.findElement(By.id("j_username")).sendKeys("9000000000");
driver.findElement(By.id("j_password")).clear();
driver.findElement(By.id("j_password")).sendKeys("pw");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
// driver.findElement(By.linkText("HCP 1")).click();
driver.findElement(
By.xpath("//div[@id='iTrustMenu']/div/div[4]/div/h2")).click();
driver.findElement(By.linkText("Document Office Visit")).click();
driver.findElement(By.name("UID_PATIENTID")).sendKeys("100");
driver.findElement(By.xpath("//input[@value='100']")).submit();
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.id("update")).click();
assertLogged(TransactionType.OFFICE_VISIT_CREATE, 9000000000L, 100L,
"Office visit");
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("00882219 - Lantus");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("60");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("02/26/2015");
driver.findElement(By.id("endDate")).clear();
driver.findElement(By.id("endDate")).sendKeys("02/26/2028");
driver.findElement(By.id("instructions")).clear();
driver.findElement(By.id("instructions")).sendKeys("Take frequently");
driver.findElement(By.id("addprescription")).click();
// Make sure this didn't get prescribed
assertFalse(driver.getPageSource().contains("Lantus 02/26/2015"));
}
@Test
public void testAllergicPrescribeTwice() throws Exception {
driver.get("http://localhost:8080/iTrust/");
driver.findElement(By.id("j_username")).sendKeys("9000000000");
driver.findElement(By.id("j_password")).clear();
driver.findElement(By.id("j_password")).sendKeys("pw");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
// driver.findElement(By.linkText("HCP 1")).click();
driver.findElement(
By.xpath("//div[@id='iTrustMenu']/div/div[4]/div/h2")).click();
driver.findElement(By.linkText("Document Office Visit")).click();
driver.findElement(By.name("UID_PATIENTID")).sendKeys("100");
driver.findElement(By.xpath("//input[@value='100']")).submit();
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.id("update")).click();
assertLogged(TransactionType.OFFICE_VISIT_CREATE, 9000000000L, 100L, "");
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("00882219 - Lantus");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("60");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("02/26/2015");
driver.findElement(By.id("endDate")).clear();
driver.findElement(By.id("endDate")).sendKeys("02/26/2028");
driver.findElement(By.id("instructions")).clear();
driver.findElement(By.id("instructions")).sendKeys("Take frequently");
driver.findElement(By.id("addprescription")).click();
// Second assigning
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("00882219 - Lantus");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("60");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("02/26/2015");
driver.findElement(By.id("endDate")).clear();
driver.findElement(By.id("endDate")).sendKeys("02/26/2028");
driver.findElement(By.id("instructions")).clear();
driver.findElement(By.id("instructions")).sendKeys("Take frequently");
driver.findElement(By.id("addprescription")).click();
assertTrue(driver.getPageSource().contains("Lantus"));
}
@Test
public void testInteractionAndAllergyPrescribe() throws Exception {
// From old test.
gen.patient2();
gen.officeVisit4();
gen.ndCodes1();
gen.drugInteractions3();
gen.ORCodes();
driver.get("http://localhost:8080/iTrust/");
driver.findElement(By.id("j_username")).sendKeys("9000000000");
driver.findElement(By.id("j_password")).clear();
driver.findElement(By.id("j_password")).sendKeys("pw");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
// driver.findElement(By.linkText("HCP 1")).click();
driver.findElement(
By.xpath("//div[@id='iTrustMenu']/div/div[4]/div/h2")).click();
driver.findElement(By.linkText("Document Office Visit")).click();
driver.findElement(By.name("UID_PATIENTID")).sendKeys("2");
driver.findElement(By.xpath("//input[@value='2']")).submit();
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.id("update")).click();
// assertLogged(TransactionType.OFFICE_VISIT_VIEW, 9000000000L, 2L,
// "Office visit");
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("619580501 - Adefovir");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("600");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("02/26/2015");
driver.findElement(By.id("endDate")).clear();
driver.findElement(By.id("endDate")).sendKeys("02/26/2025");
driver.findElement(By.id("instructions")).clear();
driver.findElement(By.id("instructions")).sendKeys(
"Take every 0.01 minutes or with high fiber meals.");
driver.findElement(By.id("addprescription")).click();
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("081096 - Aspirin");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("1000");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("03/01/2015");
driver.findElement(By.id("instructions")).clear();
driver.findElement(By.id("instructions")).sendKeys(
"Take very frequently");
driver.findElement(By.id("addprescription")).click();
System.out.println("TITLE : " + driver.getTitle());
assertTrue(driver.getPageSource().contains("Aspirin"));
assertTrue(driver.getPageSource().contains("Adefovir"));
}
@Test
public void testAllergicPrescribeOverride() throws Exception {
// From old test
gen.patient2();
gen.officeVisit4();
gen.ndCodes1();
gen.drugInteractions3();
gen.ORCodes();
driver.get("http://localhost:8080/iTrust/");
driver.findElement(By.id("j_username")).sendKeys("9000000000");
driver.findElement(By.id("j_password")).clear();
driver.findElement(By.id("j_password")).sendKeys("pw");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
// driver.findElement(By.linkText("HCP 1")).click();
driver.findElement(
By.xpath("//div[@id='iTrustMenu']/div/div[4]/div/h2")).click();
driver.findElement(By.linkText("Document Office Visit")).click();
driver.findElement(By.name("UID_PATIENTID")).sendKeys("2");
driver.findElement(By.xpath("//input[@value='2']")).submit();
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.id("update")).click();
// assertLogged(TransactionType.OFFICE_VISIT_VIEW, 9000000000L, 2L,
// "");
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("619580501 - Adefovir");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("600");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("02/26/2015");
driver.findElement(By.id("endDate")).clear();
driver.findElement(By.id("endDate")).sendKeys("02/26/2025");
driver.findElement(By.id("instructions")).clear();
driver.findElement(By.id("instructions")).sendKeys(
"Take every 0.01 minutes or with high fiber meals.");
driver.findElement(By.id("addprescription")).click();
assertFalse(driver.getPageSource().contains("Adefovir 02/26/2015"));
}
@Test
public void testInteractionCancel() throws Exception {
driver.get("http://localhost:8080/iTrust/");
driver.findElement(By.id("j_username")).sendKeys("9000000000");
driver.findElement(By.id("j_password")).clear();
driver.findElement(By.id("j_password")).sendKeys("pw");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
// driver.findElement(By.linkText("HCP 1")).click();
driver.findElement(
By.xpath("//div[@id='iTrustMenu']/div/div[4]/div/h2")).click();
driver.findElement(By.linkText("Document Office Visit")).click();
driver.findElement(By.name("UID_PATIENTID")).sendKeys("1");
driver.findElement(By.xpath("//input[@value='1']")).submit();
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.id("update")).click();
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("619580501 - Adefovir");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("600");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("02/26/2015");
driver.findElement(By.id("endDate")).clear();
driver.findElement(By.id("endDate")).sendKeys("02/26/2025");
assertFalse(driver.getPageSource().contains("Adefovir 02/26/2015"));
}
@Test
public void testInteractionOverride() throws Exception {
driver.get("http://localhost:8080/iTrust/");
driver.findElement(By.id("j_username")).sendKeys("9000000000");
driver.findElement(By.id("j_password")).clear();
driver.findElement(By.id("j_password")).sendKeys("pw");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
// driver.findElement(By.linkText("HCP 1")).click();
driver.findElement(
By.xpath("//div[@id='iTrustMenu']/div/div[4]/div/h2")).click();
driver.findElement(By.linkText("Document Office Visit")).click();
driver.findElement(By.name("UID_PATIENTID")).sendKeys("1");
driver.findElement(By.xpath("//input[@value='1']")).submit();
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
driver.findElement(By.id("update")).click();
new Select(driver.findElement(By.id("medID")))
.selectByVisibleText("619580501 - Adefovir");
driver.findElement(By.id("dosage")).clear();
driver.findElement(By.id("dosage")).sendKeys("600");
driver.findElement(By.id("startDate")).clear();
driver.findElement(By.id("startDate")).sendKeys("02/26/2015");
driver.findElement(By.id("endDate")).clear();
driver.findElement(By.id("endDate")).sendKeys("02/26/2025");
assertTrue(driver.getPageSource().contains("Adefovir"));
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
}