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.demo.uif.library; 017 018 import org.junit.Test; 019 import org.openqa.selenium.By; 020 import org.openqa.selenium.WebElement; 021 022 /** 023 * @author Kuali Rice Team (rice.collab@kuali.org) 024 */ 025 public class DemoLibraryWidgetsGrowlSmokeTest extends DemoLibraryBase { 026 027 /** 028 * /kr-krad/kradsampleapp?viewId=Demo-Growls-View&methodToCall=start 029 */ 030 public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-Growls-View&methodToCall=start"; 031 032 @Override 033 protected String getBookmarkUrl() { 034 return BOOKMARK_URL; 035 } 036 037 @Override 038 protected void navigate() throws Exception { 039 navigateToLibraryDemo("Widgets", "Growls"); 040 } 041 042 protected void testWidgetsGrowlDefault() throws Exception { 043 044 //check if growl text is present 045 assertTextNotPresent("Sample Message Text. Data passed: none"); 046 047 //create growl 048 waitAndClickButtonByText("Growl"); 049 050 //give it a second to display 051 Thread.sleep(1000); 052 053 //check growl text is present 054 assertTextPresent("Sample Message Text. Data passed: none"); 055 } 056 057 protected void testWidgetsDatePickerWidget() throws Exception { 058 waitAndClickByLinkText(">> Open Library Navigation"); 059 waitAndClickByLinkText("Suggest"); 060 waitAndClickByLinkText("Tooltip"); 061 select(By.id("Demo-LargeExampleDropdown_control"), "Tooltip On Focus"); 062 063 //focus label 064 fireMouseOverEvent(By.id("u100101_label")); 065 Thread.sleep(1000); 066 WebElement tooltipFocusLabel = driver.findElement(By.xpath("//div[@data-for=\"u100101_label\"]")).findElement( 067 By.className("jquerybubblepopup-innerHtml")); 068 if (!tooltipFocusLabel.isDisplayed()) { 069 fail("Tooltip help for label not displayed."); 070 } 071 if (!tooltipFocusLabel.getText().equals("Click on the text box for a tool tip")) { 072 fail("Incorrect inner html text for label focus tooltip."); 073 } 074 075 //focus control 076 waitAndClickById("u100101_control"); 077 Thread.sleep(1000); 078 WebElement tooltipFocusControl = driver.findElement(By.xpath("//div[@data-for=\"u100101_control\"]")) 079 .findElement(By.className("jquerybubblepopup-innerHtml")); 080 if (!tooltipFocusControl.isDisplayed()) { 081 fail("Tooltip help for control not displayed."); 082 } 083 if (!tooltipFocusControl.getText().equals("This tooltip appears when the field receives focus")) { 084 fail("Incorrect inner html text for tooltip focus control."); 085 } 086 } 087 088 @Test 089 public void testWidgetsGrowlBookmark() throws Exception { 090 testWidgetsGrowlDefault(); 091 passed(); 092 } 093 094 @Test 095 public void testWidgetsGrowlNav() throws Exception { 096 testWidgetsGrowlDefault(); 097 passed(); 098 } 099 }