001 package edu.samplu.krad.demo.uif.library;
002
003 import com.thoughtworks.selenium.SeleneseTestBase;
004 import org.junit.Test;
005 import org.openqa.selenium.By;
006 import org.openqa.selenium.WebElement;
007
008 /**
009 * @author Kuali Rice Team (rice.collab@kuali.org)
010 */
011 public class DemoLibraryFieldsLinkSmokeTest extends DemoLibraryBase {
012
013 /**
014 * /kr-krad/kradsampleapp?viewId=Demo-LinkField-View&methodToCall=start
015 */
016 public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-LinkField-View&methodToCall=start";
017
018 @Override
019 public String getBookmarkUrl() {
020 return BOOKMARK_URL;
021 }
022
023 @Override
024 protected void navigate() throws Exception {
025 navigateToLibraryDemo("Fields", "Link Field");
026 }
027
028 protected void testLinkFieldDefault() throws Exception {
029 WebElement exampleDiv = navigateToExample("Demo-LinkField-Example1");
030 WebElement field = findElement(By.cssSelector(".uif-link"), exampleDiv);
031
032 String fieldId = field.getAttribute("id");
033
034 assertIsVisible("#" + fieldId);
035 waitAndClickByLinkText(field.getText());
036
037 Thread.sleep(2000);
038
039 assertTextPresent("Kuali Foundation");
040
041 driver.navigate().back();
042 }
043
044 protected void testLinkFieldCustomTarget() throws Exception {
045 WebElement exampleDiv = navigateToExample("Demo-LinkField-Example2");
046 WebElement field = findElement(By.cssSelector(".uif-link"), exampleDiv);
047
048 String fieldId = field.getAttribute("id");
049
050 assertIsVisible("#" + fieldId);
051 waitAndClickByLinkText(field.getText());
052
053 Thread.sleep(2000);
054
055 switchToWindow("Kuali Foundation");
056
057 SeleneseTestBase.assertEquals("http://www.kuali.org/", driver.getCurrentUrl());
058 driver.close();
059
060 switchToWindow("Kuali");
061 }
062
063 protected void testLinkFieldLightbox() throws Exception {
064 WebElement exampleDiv = navigateToExample("Demo-LinkField-Example3");
065 WebElement field = findElement(By.cssSelector(".uif-link"), exampleDiv);
066
067 String fieldId = field.getAttribute("id");
068
069 assertIsVisible("#" + fieldId);
070 waitAndClickByLinkText(field.getText());
071
072 WebElement lightboxIFrame = driver.findElement(By.cssSelector(".fancybox-iframe"));
073 if (!lightboxIFrame.getAttribute("src").contains("www.kuali.org")) {
074 fail("Lightbox did not appear");
075 }
076 }
077
078 protected void testLinkFieldExamples() throws Exception {
079 testLinkFieldDefault();
080 testLinkFieldCustomTarget();
081 testLinkFieldLightbox();
082 }
083
084 @Test
085 public void testLinkFieldExamplesBookmark() throws Exception {
086 testLinkFieldExamples();
087 passed();
088 }
089
090 @Test
091 public void testLinkFieldExamplesNav() throws Exception {
092 testLinkFieldExamples();
093 passed();
094 }
095
096 @Test
097 public void testLinkFieldDefaultBookmark() throws Exception {
098 testLinkFieldDefault();
099 passed();
100 }
101
102 @Test
103 public void testLinkFieldDefaultNav() throws Exception {
104 testLinkFieldDefault();
105 passed();
106 }
107
108 @Test
109 public void testLinkFieldCustomTargetBookmark() throws Exception {
110 testLinkFieldCustomTarget();
111 passed();
112 }
113
114 @Test
115 public void testLinkFieldCustomTargetNav() throws Exception {
116 testLinkFieldCustomTarget();
117 passed();
118 }
119
120 @Test
121 public void testLinkFieldLightboxBookmark() throws Exception {
122 testLinkFieldLightbox();
123 passed();
124 }
125
126 @Test
127 public void testLinkFieldLightboxNav() throws Exception {
128 testLinkFieldLightbox();
129 passed();
130 }
131 }