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 }