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.configview;
017
018 import edu.samplu.common.ITUtil;
019 import edu.samplu.common.WebDriverLegacyITBase;
020
021 import org.junit.Test;
022
023 /**
024 * Test the help widget
025 *
026 * <p>
027 * Selenium RC does not allow us to test the external help popup windows due to an error on
028 * JavaScrips window.close method when selenium is running. To test the external help we use the
029 * {@link HelpWDIT2} test which utilizes WebDriver. Unfortunately due to a WebDriver bug/feature we
030 * can't test the tooltip help there.
031 * </p>
032 *
033 * @author Kuali Rice Team (rice.collab@kuali.org)
034 */
035 public class HelpNavIT extends WebDriverLegacyITBase {
036
037 // Delay in milliseconds used to allow the help window reload the new help page.
038 // waitForPopUp will not work since the window already exists.
039 // private long HELP_WINDOW_LOAD_DELAY = 3000;
040
041 @Override
042 public String getTestUrl() {
043 return ITUtil.PORTAL;
044 }
045
046 /**
047 * Test the tooltip and external help on the view
048 */
049 @Test
050 public void testViewHelp() throws Exception {
051 navigateToHelp();
052 super.testViewHelp();
053 passed();
054 }
055
056 /**
057 * Test the tooltip and external help on the page
058 */
059 @Test
060 public void testPageHelp() throws Exception {
061 navigateToHelp();
062 super.testPageHelp();
063 passed();
064 }
065
066 /**
067 * Test the tooltip help on the section and fields
068 */
069 @Test
070 public void testTooltipHelp() throws Exception {
071 navigateToHelp();
072 super.testTooltipHelp();
073 passed();
074 }
075
076 /**
077 * Test the tooltip help on the sub-section and fields that are display only
078 */
079 @Test
080 public void testDisplayOnlyTooltipHelp() throws Exception {
081 navigateToHelp();
082 super.testDisplayOnlyTooltipHelp();
083 passed();
084 }
085
086 /**
087 * Test the tooltip help on the section and fields with no content
088 */
089 @Test
090 public void testMissingTooltipHelp() throws Exception {
091 navigateToHelp();
092 super.testMissingTooltipHelp();
093 passed();
094 }
095
096 private void navigateToHelp() throws Exception
097 {
098 waitAndClickKRAD();
099 waitAndClickByXpath(CONFIGURATION_VIEW_XPATH);
100 switchToWindow(CONFIGURATION_VIEW_WINDOW_TITLE);
101 waitAndClickByLinkText("Help");
102 Thread.sleep(5000);
103 selectFrameIframePortlet();
104 }
105 }