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 e2691e6d..a886e7b4 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 @@ -24,6 +24,7 @@ import org.vivoweb.vivo.selenium.tests.DeleteLocations; import org.vivoweb.vivo.selenium.tests.DeleteOrganization; import org.vivoweb.vivo.selenium.tests.DeleteResearch; import org.vivoweb.vivo.selenium.tests.RebuildSearchIndex; +import org.vivoweb.vivo.selenium.tests.TestMenuManagement; import org.vivoweb.vivo.selenium.tests.VerifyAllThingsSearchable; @RunWith(VIVOSuite.class) @@ -42,7 +43,7 @@ import org.vivoweb.vivo.selenium.tests.VerifyAllThingsSearchable; CheckPublicView.class, CheckIndexView.class, CheckBrowseOptions.class, -// TestMenuManagement.class, + TestMenuManagement.class, DeleteActivities.class, DeleteCourses.class, DeleteLocations.class, diff --git a/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/TestMenuManagement.java b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/TestMenuManagement.java new file mode 100644 index 00000000..0d7f5b1c --- /dev/null +++ b/selenium/src/test/java/org/vivoweb/vivo/selenium/tests/TestMenuManagement.java @@ -0,0 +1,236 @@ +package org.vivoweb.vivo.selenium.tests; + +import org.junit.Test; +import org.openqa.selenium.By; + +public class TestMenuManagement extends AbstractVIVOSeleniumTest { + @Test + public void testMenuManagement() { + deleteAllVisibleCookies(); + + open("/"); + assertTitle("VIVO"); + + vivoLogIn("testAdmin@cornell.edu", "Password"); + + clickAndWait(By.linkText("Site Admin")); + assertTitle("VIVO Site Administration"); + + clickAndWait(By.linkText("Page management")); + assertTitle("Pages"); + + clickAndWait(By.id("submit")); + assertTitle("Edit"); + + type(By.id("pageName"), "Activities"); + type(By.name("prettyUrl"), "/activities"); + selectByLabel(By.id("typeSelect"), "Browse Class Group"); + selectByLabel(By.id("selectClassGroup"), "activities"); + + clickAndWait(By.cssSelector("option[value=\"http://vivoweb.org/ontology#vitroClassGroupactivities\"]")); + clickAndWait(By.id("doneWithContent")); + clickAndWait(By.id("menuCheckbox")); + + clickAndWait(By.id("pageSave")); + assertTitle("Pages"); + + verifyTextPresent( + "Home", + "People", + "Organizations", + "Research", + "Events", + "Activities" + ); + + clickAndWait(By.id("submit")); + assertTitle("Edit"); + + type(By.id("pageName"), "Courses"); + type(By.name("prettyUrl"), "/courses"); + selectByLabel(By.id("typeSelect"), "Browse Class Group"); + selectByLabel(By.id("selectClassGroup"), "courses"); + + clickAndWait(By.cssSelector("option[value=\"http://vivoweb.org/ontology#vitroClassGroupactivities\"]")); + clickAndWait(By.id("doneWithContent")); + clickAndWait(By.id("menuCheckbox")); + + clickAndWait(By.id("pageSave")); + assertTitle("Pages"); + + verifyTextPresent( + "Home", + "People", + "Organizations", + "Research", + "Events", + "Activities", + "Courses" + ); + + clickAndWait(By.id("submit")); + assertTitle("Edit"); + + type(By.id("pageName"), "Equipment"); + type(By.name("prettyUrl"), "/equipment"); + selectByLabel(By.id("typeSelect"), "Browse Class Group"); + selectByLabel(By.id("selectClassGroup"), "equipment"); + + clickAndWait(By.cssSelector("option[value=\"http://vivoweb.org/ontology#vitroClassGroupactivities\"]")); + clickAndWait(By.id("doneWithContent")); + clickAndWait(By.id("menuCheckbox")); + + clickAndWait(By.id("pageSave")); + assertTitle("Pages"); + + verifyTextPresent( + "Home", + "People", + "Organizations", + "Research", + "Events", + "Activities" + ); + + clickAndWait(By.id("submit")); + assertTitle("Edit"); + + verifyTextPresent( + "Home", + "People", + "Organizations", + "Research", + "Events", + "Activities", + "Courses", + "Equipment" + ); + + type(By.id("pageName"), "Locations"); + type(By.name("prettyUrl"), "/locations"); + selectByLabel(By.id("typeSelect"), "Browse Class Group"); + selectByLabel(By.id("selectClassGroup"), "locations"); + + clickAndWait(By.cssSelector("option[value=\"http://vivoweb.org/ontology#vitroClassGroupactivities\"]")); + clickAndWait(By.id("doneWithContent")); + clickAndWait(By.id("menuCheckbox")); + + clickAndWait(By.id("pageSave")); + assertTitle("Pages"); + + verifyTextPresent( + "Home", + "People", + "Organizations", + "Research", + "Events", + "Activities", + "Locations" + ); + + clickAndWait(By.linkText("Activities")); + assertTitle("Activities"); + + clickAndWait(By.linkText("Project (1)")); + + verifyElementPresent(By.linkText("Human and Ape Brain Comparison")); + + clickAndWait(By.linkText("Research Project (1)")); + + verifyElementPresent(By.linkText("Human and Ape Brain Comparison")); + + clickAndWait(By.linkText("Service (2)")); + + verifyElementPresent(By.linkText("Gorilla Moving Company")); + verifyElementPresent(By.linkText("Primate Heart Health")); + + clickAndWait(By.linkText("Transport Service (1)")); + + verifyElementPresent(By.linkText("Gorilla Moving Company")); + + clickAndWait(By.linkText("Courses")); + assertTitle("Courses"); + + clickAndWait(By.linkText("Course (2)")); + + verifyTextPresent("Course"); + verifyElementPresent(By.linkText("Introduction to Primates")); + verifyElementPresent(By.linkText("Introduction to Primate Health")); + + clickAndWait(By.linkText("Equipment")); + assertTitle("Equipment"); + + clickAndWait(By.linkText("Equipment (2)")); + + verifyTextPresent("Equipment"); + verifyElementPresent(By.linkText("Portable Primate Habitat")); + verifyElementPresent(By.linkText("Primate Feeder")); + + clickAndWait(By.linkText("Locations")); + assertTitle("Locations"); + + clickAndWait(By.linkText("Building (2)")); + + verifyTextPresent("Building"); + verifyElementPresent(By.linkText("Jane Memorial Building")); + verifyElementPresent(By.linkText("Primate Memorial Building")); + + clickAndWait(By.linkText("Facility (5)")); + + verifyElementPresent(By.linkText("Jane Memorial Building")); + verifyElementPresent(By.linkText("Lab Admin Office")); + verifyElementPresent(By.linkText("Primate Memorial Building")); + verifyElementPresent(By.linkText("Primate Research Lab Room 123")); + verifyElementPresent(By.linkText("State Fair Park")); + + clickAndWait(By.linkText("Room (1)")); + + verifyElementPresent(By.linkText("Lab Admin Office")); + + clickAndWait(By.linkText("Site Admin")); + assertTitle("VIVO Site Administration"); + + clickAndWait(By.linkText("Page management")); + assertTitle("Pages"); + + clickAndWait(By.xpath("(//img[@alt='delete this page'])[2]")); + assertConfirmation("Are you sure you wish to delete this page: Activities?"); + + assertTitle("Pages"); + + clickAndWait(By.linkText("Site Admin")); + assertTitle("VIVO Site Administration"); + + clickAndWait(By.linkText("Page management")); + assertTitle("Pages"); + + clickAndWait(By.xpath("(//img[@alt='delete this page'])[4]")); + assertConfirmation("Are you sure you wish to delete this page: Courses?"); + + assertTitle("Pages"); + + clickAndWait(By.linkText("Site Admin")); + assertTitle("VIVO Site Administration"); + + clickAndWait(By.linkText("Page management")); + assertTitle("Pages"); + + clickAndWait(By.xpath("(//img[@alt='delete this page'])[6]")); + assertConfirmation("Are you sure you wish to delete this page: Equipment?"); + + assertTitle("Pages"); + + clickAndWait(By.linkText("Site Admin")); + assertTitle("VIVO Site Administration"); + + clickAndWait(By.linkText("Page management")); + assertTitle("Pages"); + + clickAndWait(By.xpath("(//img[@alt='delete this page'])[7]")); + assertConfirmation("Are you sure you wish to delete this page: Locations?"); + + assertTitle("Pages"); + + vivoLogOut(); // clickAndWait,Log out + } +}