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    }