001 /**
002 * Copyright 2005-2013 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package edu.samplu.krad.library.elements;
017
018 import org.junit.Test;
019
020 import org.kuali.rice.testtools.selenium.Failable;
021 import org.kuali.rice.testtools.selenium.ITUtil;
022 import org.kuali.rice.testtools.selenium.SmokeTestBase;
023 import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
024
025 /**
026 * @author Kuali Rice Team (rice.collab@kuali.org)
027 */
028 public class DemoLibraryElementsHeaderSmokeTest extends SmokeTestBase {
029
030 /**
031 * /kr-krad/kradsampleapp?viewId=Demo-Header-View&methodToCall=start
032 */
033 public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-Header-View&methodToCall=start";
034
035 @Override
036 protected String getBookmarkUrl() {
037 return BOOKMARK_URL;
038 }
039
040 @Override
041 protected void navigate() throws Exception {
042 waitAndClickById("Demo-LibraryLink", "");
043 waitAndClickByLinkText("Elements");
044 waitAndClickByLinkText("Header");
045 }
046
047 protected void testLibraryElementsHeaderBaseHeader() throws Exception {
048 assertElementPresentByXpath("//div[@data-header_for='Demo-Header-Example1']/h3/span");
049 }
050
051 protected void testLibraryElementsHeader1() throws Exception {
052 waitAndClickByLinkText("Header 1");
053 assertElementPresentByXpath("//h1/span");
054 }
055
056 protected void testLibraryElementsHeader2() throws Exception {
057 waitAndClickByLinkText("Header 2");
058 assertElementPresentByXpath("//div[@id='Demo-Header-Example3']/div[@class='uif-verticalBoxLayout clearfix']/div/div/h2/span");
059 }
060
061 protected void testLibraryElementsHeader3() throws Exception {
062 waitAndClickByLinkText("Header 3");
063 assertElementPresentByXpath("//div[@id='Demo-Header-Example4']/div[@class='uif-verticalBoxLayout clearfix']/div/div/h3/span");
064 }
065
066 protected void testLibraryElementsHeader4() throws Exception {
067 waitAndClickByLinkText("Header 4");
068 assertElementPresentByXpath("//div[@id='Demo-Header-Example5']/div[@class='uif-verticalBoxLayout clearfix']/div/div/h4/span");
069 }
070
071 protected void testLibraryElementsHeader5() throws Exception {
072 waitAndClickByLinkText("Header 5");
073 assertElementPresentByXpath("//div[@id='Demo-Header-Example6']/div[@class='uif-verticalBoxLayout clearfix']/div/div/h5/span");
074 }
075
076 protected void testLibraryElementsHeader6() throws Exception {
077 waitAndClickByLinkText("Header 6");
078 assertElementPresentByXpath("//div[@id='Demo-Header-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/div/h6/span");
079 }
080
081 protected void testLibraryElementsHeaderEditableHeader() throws Exception {
082 waitAndClickByLinkText("EditablePage Header");
083 assertElementPresentByXpath("//div[@id='Demo-Header-Example12']/div[@class='uif-verticalBoxLayout clearfix']/div/div[@class='uif-pageHeader clearfix uif-boxLayoutVerticalItem clearfix']/h2/span");
084 assertElementPresentByXpath("//div[@id='Demo-Header-Example12']/div[@class='uif-verticalBoxLayout clearfix']/div/div[@class='uif-verticalBoxGroup uif-header-lowerGroup']/div[@class='uif-verticalBoxLayout clearfix']/div[1]/div/button[@class='btn btn-small uif-expandDisclosuresButton uif-boxLayoutHorizontalItem']");
085 assertElementPresentByXpath("//div[@id='Demo-Header-Example12']/div[@class='uif-verticalBoxLayout clearfix']/div/div[@class='uif-verticalBoxGroup uif-header-lowerGroup']/div[@class='uif-verticalBoxLayout clearfix']/div[1]/div/button[@class='btn btn-small uif-collapseDisclosuresButton uif-boxLayoutHorizontalItem']");
086 assertElementPresentByXpath("//div[@id='Demo-Header-Example12']/div[@class='uif-verticalBoxLayout clearfix']/div/div[@class='uif-verticalBoxGroup uif-header-lowerGroup']/div[@class='uif-verticalBoxLayout clearfix']/div[2]/div/span[@class='uif-requiredInstructionsMessage uif-boxLayoutHorizontalItem']");
087 }
088
089 protected void testLibraryElementsHeaderReadOnlyPageHeader() throws Exception {
090 waitAndClickByLinkText("Disclosure Header");
091 assertElementPresentByXpath("//div[@id='Demo-Header-Example13']/div[@class='uif-verticalBoxLayout clearfix']/div/div[@class='uif-pageHeader clearfix uif-boxLayoutVerticalItem clearfix']/h2/span");
092 }
093
094 protected void testLibraryElementsHeaderImageCaptionHeader() throws Exception {
095 waitAndClickByLinkText("ImageCaption Header");
096 assertElementPresentByXpath("//div[@id='Demo-Header-Example14']/div[@class='uif-verticalBoxLayout clearfix']/div/div[@class='uif-pageHeader clearfix uif-boxLayoutVerticalItem clearfix']/h2/span");
097 }
098
099 protected void testLibraryElementsHeaderGroupsHeader() throws Exception {
100 waitAndClickByLinkText("Header Groups");
101 assertElementPresentByXpath("//div[@id='Demo-Header-Example15']/div[@class='uif-verticalBoxLayout clearfix']/div/div[@class='uif-pageHeader clearfix uif-boxLayoutVerticalItem clearfix']/h2/span");
102 }
103
104 @Test
105 public void testElementsHeaderBookmark() throws Exception {
106 testLibraryElementsHeaderBaseHeader();
107 testLibraryElementsHeader1();
108 testLibraryElementsHeader2();
109 testLibraryElementsHeader3();
110 testLibraryElementsHeader4();
111 testLibraryElementsHeader5();
112 testLibraryElementsHeader6();
113 testLibraryElementsHeaderEditableHeader();
114 testLibraryElementsHeaderReadOnlyPageHeader();
115 passed();
116 }
117
118 @Test
119 public void testElementsHeaderNav() throws Exception {
120 testLibraryElementsHeaderBaseHeader();
121 testLibraryElementsHeader1();
122 testLibraryElementsHeader2();
123 testLibraryElementsHeader3();
124 testLibraryElementsHeader4();
125 testLibraryElementsHeader5();
126 testLibraryElementsHeader6();
127 testLibraryElementsHeaderEditableHeader();
128 testLibraryElementsHeaderReadOnlyPageHeader();
129 passed();
130 }
131 }