001/** 002 * Copyright 2005-2015 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 */ 016package edu.sampleu.travel; 017 018import com.thoughtworks.selenium.SeleneseTestBase; 019import org.junit.Assert; 020import org.kuali.rice.testtools.common.JiraAwareFailable; 021import org.kuali.rice.testtools.selenium.AutomatedFunctionalTestUtils; 022import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase; 023import org.kuali.rice.testtools.selenium.WebDriverUtils; 024import org.openqa.selenium.Alert; 025import org.openqa.selenium.By; 026import org.openqa.selenium.WebElement; 027 028/** 029 * Tests the Component section in Rice. 030 * 031 * @author Kuali Rice Team (rice.collab@kuali.org) 032 */ 033public abstract class InquiryAftBase extends WebDriverLegacyITBase { 034 035 /** 036 * ITUtil.PORTAL + "?channelTitle=Travel%20Account%20Lookup&channelUrl=" 037 * + WebDriverUtils.getBaseUrlString() + ITUtil.KRAD_LOOKUP_METHOD 038 * +"edu.sampleu.travel.bo.TravelAccount&returnLocation=" 039 * + ITUtil.PORTAL_URL + ITUtil.HIDE_RETURN_LINK + ITUtil.SHOW_MAINTENANCE_LINKS 040 */ 041 public static final String BOOKMARK_URL = AutomatedFunctionalTestUtils.PORTAL 042 + "?channelTitle=Travel%20Account%20Lookup&channelUrl=" 043 + WebDriverUtils.getBaseUrlString() + AutomatedFunctionalTestUtils.KRAD_LOOKUP_METHOD 044 + "edu.sampleu.travel.bo.TravelAccount" 045 + "&returnLocation=" + AutomatedFunctionalTestUtils.PORTAL_URL + AutomatedFunctionalTestUtils.HIDE_RETURN_LINK + AutomatedFunctionalTestUtils.SHOW_MAINTENANCE_LINKS; 046 047 /** 048 * //*[contains(button,"Search")]/button 049 */ 050 public static final String SEARCH_BUTTON_XPATH ="//div[contains(button, 'Search')]/button[3]"; 051 052 /** 053 * lookupCriteria 054 */ 055 public static final String CRITERIA_NAME="lookupCriteria"; 056 057 protected void navigation() throws Exception { 058 waitAndClickKRAD(); 059 //waitAndClickByLinkText(TRAVEL_ACCOUNT_LOOKUP_LINK_TEXT); 060 waitAndClickByXpath("(//a[contains(text(),'Travel Account Lookup')])[3]"); 061 } 062 063 protected void testInquiryNav(JiraAwareFailable failable) throws Exception { 064 navigation(); 065 testInquiry(); 066 passed(); 067 } 068 069 protected void testInquiryBookmark(JiraAwareFailable failable) throws Exception { 070 testInquiry(); 071 passed(); 072 } 073 074 protected void testInquiry() throws Exception { 075 selectFrameIframePortlet(); 076 waitAndTypeByName(CRITERIA_NAME+"[number]", "a1"); 077 waitAndClickByXpath("//*[@alt='Direct Inquiry']"); 078 selectTopFrame(); 079 Thread.sleep(5000); 080 gotoLightBox(); 081 SeleneseTestBase.assertEquals("Travel Account Inquiry", getTextByXpath("//h1/span").trim()); 082 assertElementPresentByLinkText("a1"); 083 selectTopFrame(); 084 waitAndClickByXpath("//div[@class='fancybox-item fancybox-close']"); 085 selectFrameIframePortlet(); 086 waitAndClickByXpath("//button[contains(text(),'Clear Values')]"); 087 088 //-----------------------------Code will not work as page has freemarker exceptions------------------------ 089 Thread.sleep(2000); 090 waitAndClickByXpath("//*[@alt='Direct Inquiry']"); 091 Alert a1 = driver.switchTo().alert(); 092 Assert.assertEquals("Please enter a value in the appropriate field.", a1.getText()); 093 a1.accept(); 094 switchToWindow("null"); 095 selectFrameIframePortlet(); 096 097 //No Direct Inquiry Option for Fiscal Officer. 098 waitAndTypeByName(CRITERIA_NAME+"[foId]", "1"); 099 waitAndClickByXpath("//*[@id='u229']"); 100 selectTopFrame(); 101 Thread.sleep(5000); 102 gotoLightBox(); 103 Assert.assertEquals("Fiscal Officer Lookup", getTextByXpath("//h1/span").trim()); 104 Assert.assertEquals("1", waitAndGetAttributeByName(CRITERIA_NAME + "[id]", "value")); 105 waitAndClickByXpath(SEARCH_BUTTON_XPATH); 106 selectFrameIframePortlet(); 107 selectOptionByName(CRITERIA_NAME+"[extension.accountTypeCode]", "CAT"); 108 waitAndClickByXpath("//fieldset[@id='u232_fieldset']/input[@alt='Search Field']"); 109 selectTopFrame(); 110 Thread.sleep(5000); 111 gotoLightBox(); 112 Assert.assertEquals("Travel Account Type Lookup", getTextByXpath("//h1/span").trim()); 113 Assert.assertEquals("CAT", waitAndGetAttributeByName(CRITERIA_NAME + "[accountTypeCode]", "value")); 114 waitAndClickByXpath(SEARCH_BUTTON_XPATH); 115 selectFrameIframePortlet(); 116 } 117}