001 package edu.samplu.krad.demo.uif.library;
002
003 import org.junit.Test;
004 import org.openqa.selenium.By;
005 import org.openqa.selenium.WebElement;
006
007 /**
008 * @author Kuali Rice Team (rice.collab@kuali.org)
009 */
010 public class DemoLibraryFieldsImageSmokeTest extends DemoLibraryBase {
011
012 /**
013 * /kr-krad/kradsampleapp?viewId=Demo-ImageField-View&methodToCall=start
014 */
015 public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-ImageField-View&methodToCall=start";
016
017 @Override
018 public String getBookmarkUrl() {
019 return BOOKMARK_URL;
020 }
021
022 @Override
023 protected void navigate() throws Exception {
024 navigateToLibraryDemo("Fields", "Image Field");
025 }
026
027 protected void testImageFieldDefault() throws Exception {
028 WebElement exampleDiv = navigateToExample("Demo-ImageField-Example1");
029 WebElement field = findElement(By.cssSelector("div[data-label='ImageField 1']"), exampleDiv);
030
031 String fieldId = field.getAttribute("id");
032
033 assertIsVisible("#" + fieldId);
034 assertIsVisible("label[data-label_for='" + fieldId + "']");
035 WebElement label = findElement(By.cssSelector("label[data-label_for='" + fieldId + "']"), field);
036 if (!label.getText().contains("ImageField 1:")) {
037 fail("Label text does not match");
038 }
039
040 String imgId = label.getAttribute("for");
041
042 assertIsVisible("#" + imgId + "[src='/krad/images/pdf.png']");
043 assertIsVisible("#" + imgId + "[alt='']");
044
045 // validate that the image comes after the label
046 findElement(By.cssSelector("span[data-label_for='" + fieldId + "'] + img[src='/krad/images/pdf.png']"),
047 exampleDiv);
048 }
049
050 protected void testImageFieldAlternateText() throws Exception {
051 WebElement exampleDiv = navigateToExample("Demo-ImageField-Example2");
052 WebElement field = findElement(By.cssSelector("div[data-label='ImageField 1']"), exampleDiv);
053
054 String fieldId = field.getAttribute("id");
055
056 WebElement label = findElement(By.cssSelector("label[data-label_for='" + fieldId + "']"), field);
057
058 String imgId = label.getAttribute("for");
059
060 assertIsVisible("#" + imgId + "[src='/krad/images/pdf_ne.png']");
061 assertIsVisible("#" + imgId + "[alt='pdf']");
062 }
063
064 protected void testImageFieldExamples() throws Exception {
065 testImageFieldDefault();
066 testImageFieldAlternateText();
067 }
068
069 @Test
070 public void testImageFieldExamplesBookmark() throws Exception {
071 testImageFieldExamples();
072 passed();
073 }
074
075 @Test
076 public void testImageFieldExamplesNav() throws Exception {
077 testImageFieldExamples();
078 passed();
079 }
080
081 @Test
082 public void testImageFieldDefaultBookmark() throws Exception {
083 testImageFieldDefault();
084 passed();
085 }
086
087 @Test
088 public void testImageFieldDefaultNav() throws Exception {
089 testImageFieldDefault();
090 passed();
091 }
092
093 @Test
094 public void testImageFieldAlternateTextBookmark() throws Exception {
095 testImageFieldAlternateText();
096 passed();
097 }
098
099 @Test
100 public void testImageFieldAlternateTextNav() throws Exception {
101 testImageFieldAlternateText();
102 passed();
103 }
104 }