diff --git a/selenium/src/test/java/org/vivoweb/vivo/selenium/suites/AddNonPersonThings.java b/selenium/src/test/java/org/vivoweb/vivo/selenium/suites/AddNonPersonThings.java index 7493f676..1b753e36 100644 --- a/selenium/src/test/java/org/vivoweb/vivo/selenium/suites/AddNonPersonThings.java +++ b/selenium/src/test/java/org/vivoweb/vivo/selenium/suites/AddNonPersonThings.java @@ -8,8 +8,10 @@ import org.vivoweb.vivo.selenium.DriverFactory; import org.vivoweb.vivo.selenium.VIVOSuite; import org.vivoweb.vivo.selenium.tests.CreateActivity; import org.vivoweb.vivo.selenium.tests.CreateCourses; +import org.vivoweb.vivo.selenium.tests.CreateEquipment; import org.vivoweb.vivo.selenium.tests.CreateEvent; import org.vivoweb.vivo.selenium.tests.CreateOrganization; +import org.vivoweb.vivo.selenium.tests.CreateTopic; import org.vivoweb.vivo.selenium.tests.DeleteActivities; import org.vivoweb.vivo.selenium.tests.DeleteCourses; import org.vivoweb.vivo.selenium.tests.DeleteEquipment; @@ -27,6 +29,8 @@ import org.vivoweb.vivo.selenium.tests.RebuildSearchIndex; CreateCourses.class, CreateActivity.class, CreateEvent.class, + CreateTopic.class, + CreateEquipment.class, DeleteActivities.class, DeleteCourses.class, DeleteLocations.class, diff --git a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/AbstractVIVOSeleniumTest.java b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/AbstractVIVOSeleniumTest.java index 66db3ca4..1e198c3b 100644 --- a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/AbstractVIVOSeleniumTest.java +++ b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/AbstractVIVOSeleniumTest.java @@ -28,7 +28,7 @@ public class AbstractVIVOSeleniumTest extends AbstractSeleniumTest { element.sendKeys(text); try { - Thread.sleep(500); + Thread.sleep(1000); autoComplete = driver.findElement(By.className("ui-autocomplete")); } catch (InterruptedException e) { throw new RuntimeException(e); @@ -42,7 +42,7 @@ public class AbstractVIVOSeleniumTest extends AbstractSeleniumTest { if (autoComplete == null) { element.clear(); - if (count > 10) { + if (count > 5) { throw new NoSuchElementException("Auto complete is not visible"); } diff --git a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/CreateEquipment.java b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/CreateEquipment.java new file mode 100644 index 00000000..7cb9e6ce --- /dev/null +++ b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/CreateEquipment.java @@ -0,0 +1,131 @@ +package org.vivoweb.vivo.selenium.tests; + +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; + +public class CreateEquipment extends AbstractVIVOSeleniumTest { + @Test + public void createEquipment() { + deleteAllVisibleCookies(); + + open("/"); + assertTitle("VIVO"); + + vivoLogIn("testAdmin@cornell.edu", "Password"); + + clickAndWait(By.linkText("Site Admin")); + assertTitle("VIVO Site Administration"); + + verifyTextPresent("Data Input"); + + selectByLabel(By.id("VClassURI"), "Equipment (vivo)"); + + clickAndWait(By.xpath("//input[@value='Add individual of this class']")); + assertTitle("Edit"); + + verifyTextPresent("Create a new Equipment"); + + clickAndWait(By.linkText("Cancel")); + assertTitle("VIVO Site Administration"); + + verifyTextPresent("Data Input"); + + selectByLabel(By.id("VClassURI"), "Equipment (vivo)"); + + clickAndWait(By.xpath("//input[@value='Add individual of this class']")); + assertTitle("Edit"); + + verifyTextPresent("Create a new Equipment"); + + clickAndWait(By.id("submit")); + assertTitle("Edit"); + + verifyTextPresent("Please enter a value in the Name field."); + + type(By.id("label"), "Primate Feeder"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Feeder"); + + clickAndWait(By.xpath("//div[@id='wrapper-content']/ul/li[8]")); + + clickAndWait(By.xpath("//h3[@id='equipmentFor']/a/img")); + assertTitle("Edit"); + + verifyTextPresent("If you don't find the appropriate entry on the selection list above:"); + + selectByLabel(By.id("objectVar"), "Primate Research Laboratory (Laboratory)"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Feeder"); + + clickAndWait(By.cssSelector("a.add-RO_0001025 > img.add-individual")); + assertTitle("Edit"); + + verifyTextPresent("If you don't find the appropriate entry on the selection list above:"); + + selectByLabel(By.id("typeOfNew"), "Facility (vivo)"); + + clickAndWait(By.id("offerCreate")); + assertTitle("Edit"); + + verifyTextPresent("Create \"housed in facility\" entry for Primate Feeder"); + type(By.id("label"), "Primate Research Lab Room 123"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Feeder"); + + clickAndWait(By.xpath("//h3[@id='freetextKeyword']/a/img")); + assertTitle("Edit"); + + verifyTextPresent("Add new entry for: keywords"); + + typeTinyMCE("Animal Diet"); + + clickAndWait(By.id("submit")); + + clickAndWait(By.linkText("Primate Research Lab Room 123")); + assertTitle("Primate Research Lab Room 123"); + + clickAndWait(By.xpath("(//img[@alt='add'])[3]")); + assertTitle("Edit"); + + selectByLabel(By.id("objectVar"), "Primate Heart Health (Service)"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Research Lab Room 123"); + + clickAndWait(By.xpath("(//img[@alt='add'])[4]")); + assertTitle("Edit"); + + selectByLabel(By.id("objectVar"), "Primate University of America (University)"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Research Lab Room 123"); + + clickAndWait(By.xpath("(//img[@alt='add'])[5]")); + assertTitle("Edit"); + + selectByLabel(By.id("objectVar"), "Primate Health Check (Event)"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Research Lab Room 123"); + + clickAndWait(By.cssSelector("a.add-BFO_0000050 > img.add-individual")); + assertTitle("Edit"); + + vivoAutoCompleteSelect(By.id("object"), "United State", Keys.ARROW_DOWN); + + clickAndWait(By.id("submit")); + assertTitle("Primate Research Lab Room 123"); + + verifyElementPresent(By.linkText("Primate Feeder")); + verifyElementPresent(By.linkText("Primate Heart Health")); + verifyElementPresent(By.linkText("Primate University of America")); + verifyElementPresent(By.linkText("Primate Health Check")); + verifyElementPresent(By.linkText("United States of America")); + + vivoLogOut(); + } +} diff --git a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/CreateTopic.java b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/CreateTopic.java new file mode 100644 index 00000000..09023800 --- /dev/null +++ b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/CreateTopic.java @@ -0,0 +1,94 @@ +package org.vivoweb.vivo.selenium.tests; + +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; + +public class CreateTopic extends AbstractVIVOSeleniumTest { + @Test + public void createTopic() { + deleteAllVisibleCookies(); + + open("/"); + assertTitle("VIVO"); + + vivoLogIn("testAdmin@cornell.edu", "Password"); + + clickAndWait(By.linkText("Site Admin")); + assertTitle("VIVO Site Administration"); + + verifyTextPresent("Data Input"); + + selectByLabel(By.id("VClassURI"), "Concept (skos)"); + + clickAndWait(By.xpath("//input[@value='Add individual of this class']")); + assertTitle("Edit"); + + verifyTextPresent("Create a new Concept"); + + clickAndWait(By.linkText("Cancel")); + assertTitle("VIVO Site Administration"); + + selectByLabel(By.id("VClassURI"), "Concept (skos)"); + + clickAndWait(By.xpath("//input[@value='Add individual of this class']")); + assertTitle("Edit"); + + verifyTextPresent("Create a new Concept"); + + clickAndWait(By.id("submit")); + assertTitle("Edit"); + + verifyTextPresent("Please enter a value in the Name field."); + + type(By.id("label"), "Primate Health"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Health"); + + clickAndWait(By.cssSelector("li.nonSelectedGroupTab.clickable")); + + clickAndWait(By.xpath("//h3[@id='broader']/a/img")); + assertTitle("Edit"); + + verifyTextPresent("If you don't find the appropriate entry on the selection list above:"); + selectByLabel(By.id("objectVar"), "Animal Health"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Health"); + + clickAndWait(By.xpath("//h3[@id='narrower']/a/img")); + assertTitle("Edit"); + + verifyTextPresent("If you don't find the appropriate entry on the selection list above:"); + + clickAndWait(By.id("offerCreate")); + assertTitle("Edit"); + + verifyTextPresent("Create \"narrower concept\" entry for Primate Health"); + type(By.id("label"), "Primate Diet"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Health"); + + clickAndWait(By.xpath("//h3[@id='related']/a/img")); + assertTitle("Edit"); + + verifyTextPresent("If you don't find the appropriate entry on the selection list above:"); + + clickAndWait(By.id("offerCreate")); + assertTitle("Edit"); + + verifyTextPresent("Create \"related concept\" entry for Primate Health"); + type(By.id("label"), "Ape Health"); + + clickAndWait(By.id("submit")); + assertTitle("Primate Health"); + + verifyElementPresent(By.linkText("Animal Health")); + verifyElementPresent(By.linkText("Primate Diet")); + verifyElementPresent(By.linkText("Ape Health")); + + vivoLogOut(); + } +} diff --git a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/DeleteEquipment.java b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/DeleteEquipment.java index c53e3694..88bdcfaa 100644 --- a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/DeleteEquipment.java +++ b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/DeleteEquipment.java @@ -23,7 +23,7 @@ public class DeleteEquipment extends AbstractVIVOSeleniumTest { assertTitle("Portable Primate Habitat"); vivoDeleteIndividual(); -/* +/* From CreateEquipment */ clickAndWait(By.linkText("Equipment")); assertTitle("Equipment"); @@ -31,7 +31,7 @@ public class DeleteEquipment extends AbstractVIVOSeleniumTest { assertTitle("Primate Feeder"); vivoDeleteIndividual(); -*/ +/* */ vivoLogOut(); } diff --git a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/DeleteResearch.java b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/DeleteResearch.java index 06664f2b..523538d2 100644 --- a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/DeleteResearch.java +++ b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/DeleteResearch.java @@ -57,7 +57,7 @@ public class DeleteResearch extends AbstractVIVOSeleniumTest { vivoDeleteIndividual(); /* */ -/* +/* From CreateTopic */ clickAndWait(By.linkText("Index")); assertTitle("Index of Contents"); @@ -90,7 +90,7 @@ public class DeleteResearch extends AbstractVIVOSeleniumTest { assertTitle("Primate Health"); vivoDeleteIndividual(); -*/ +/* */ /* From CreateActivity */ clickAndWait(By.linkText("Index")); assertTitle("Index of Contents");