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.layoutmanagers;
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 DemoLibraryLayoutManagersGridLayoutSmokeTest extends SmokeTestBase {
029    
030        /**
031         * /kr-krad/kradsampleapp?viewId=Demo-GridLayoutManager-View&methodToCall=start
032         */
033        public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-GridLayoutManager-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("Layout Managers");
044            waitAndClickByLinkText("Grid Layout");
045        }
046    
047        protected void testLayoutManagersGridLayout() throws Exception {
048           assertElementPresentByXpath("//table[@class='table table-condensed table-bordered uif-gridLayout']/tbody/tr/th/span");
049           assertElementPresentByXpath("//table[@class='table table-condensed table-bordered uif-gridLayout']/tbody/tr/td/div/input");
050           assertElementPresentByXpath("//table[@class='table table-condensed table-bordered uif-gridLayout']/tbody/tr[2]/th/span");
051           assertElementPresentByXpath("//table[@class='table table-condensed table-bordered uif-gridLayout']/tbody/tr[2]/td/div/input");
052           assertElementPresentByXpath("//table[@class='table table-condensed table-bordered uif-gridLayout']/tbody/tr[3]/th/span");
053           assertElementPresentByXpath("//table[@class='table table-condensed table-bordered uif-gridLayout']/tbody/tr[3]/td/div/input");
054        }
055        
056        protected void testLayoutManagersGridLayouMultipleColumns() throws Exception {
057            selectByName("exampleShown","# of Columns");
058            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example2']/table/tbody/tr/th/span");
059            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example2']/table/tbody/tr/td/div/input[@name='inputField4']");
060            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example2']/table/tbody/tr/th[2]/span");
061            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example2']/table/tbody/tr/td[2]/div/input[@name='inputField5']");
062        }
063        
064        protected void testLayoutManagersGridLayoutColumnSpan() throws Exception {
065            selectByName("exampleShown","Column Span");
066            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example3']/table/tbody/tr/th[@colspan='2']/span");
067            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example3']/table/tbody/tr/td[@colspan='2']/div/input[@name='inputField8']");
068            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example3']/table/tbody/tr/th[@colspan='1']/span");
069            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example3']/table/tbody/tr/td[@colspan='1']/div/input[@name='inputField9']");
070            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example3']/table/tbody/tr/th[@colspan='1'][2]/span");
071            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example3']/table/tbody/tr/td[@colspan='1'][2]/div/input[@name='inputField10']");
072        }
073        
074        protected void testLayoutManagersGridLayoutRenderTHColumn() throws Exception {
075            selectByName("exampleShown","Render TH Column");
076            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example4']/table/tbody/tr/td/span");
077            assertElementPresentByXpath("//div[@data-parent='Demo-GridLayoutManager-Example4']/table/tbody/tr/td/div/input[@name='inputField12']");
078        }
079        
080        @Test
081        public void testLayoutManagersGridLayoutBookmark() throws Exception {
082            testLayoutManagersGridLayout();
083            testLayoutManagersGridLayouMultipleColumns();
084            testLayoutManagersGridLayoutColumnSpan();
085            testLayoutManagersGridLayoutRenderTHColumn();
086            passed();
087        }
088    
089        @Test
090        public void testLayoutManagersGridLayoutNav() throws Exception {
091            testLayoutManagersGridLayout();
092            testLayoutManagersGridLayouMultipleColumns();
093            testLayoutManagersGridLayoutColumnSpan();
094            testLayoutManagersGridLayoutRenderTHColumn();
095            passed();
096        }  
097    }