001 /* 002 * Copyright 2011 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/ecl1.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.travel.krad.test; 017 018 import static org.junit.Assert.*; 019 020 import org.junit.Test; 021 import org.openqa.selenium.Alert; 022 import org.openqa.selenium.By; 023 import org.openqa.selenium.WebElement; 024 025 import edu.samplu.common.ITUtil; 026 import edu.samplu.common.WebDriverLegacyITBase; 027 028 /** 029 * tests the inquiry feature in rice. 030 * 031 * @author Kuali Rice Team (rice.collab@kuali.org) 032 */ 033 public class InquiryLegacyIT extends WebDriverLegacyITBase { 034 @Override 035 public String getTestUrl() { 036 return ITUtil.PORTAL; 037 } 038 039 @Test 040 public void testInquiry() throws Exception { 041 waitAndClickByLinkText("KRAD"); 042 waitAndClickByLinkText("Travel Account Lookup"); 043 selectFrame("iframeportlet"); 044 waitAndTypeByName("lookupCriteria[number]", "a1"); 045 waitAndClickByXpath("//*[@alt='Direct Inquiry']"); 046 selectTopFrame(); 047 Thread.sleep(5000); 048 WebElement iframe1= driver.findElement(By.xpath("//iframe[@class='fancybox-iframe']")); 049 driver.switchTo().frame(iframe1); 050 assertEquals("Travel Account Inquiry", getTextByXpath("//h1/span").trim()); 051 assertElementPresentByLinkText("a1"); 052 waitAndClickByXpath("//button[@id='u13']"); 053 selectFrame("iframeportlet"); 054 055 waitAndClickByXpath("//button[@id='u19']"); 056 Thread.sleep(2000); 057 waitAndClickByXpath("//*[@alt='Direct Inquiry']"); 058 Alert a1= driver.switchTo().alert(); 059 assertEquals("Please enter a value in the appropriate field.",a1.getText()); 060 a1.accept(); 061 switchToWindow("null"); 062 selectFrame("iframeportlet"); 063 064 //No Direct Inquiry Option for Fiscal Officer. 065 waitAndTypeByName("lookupCriteria[foId]", "1"); 066 waitAndClickByXpath("//*[@id='u229']"); 067 selectTopFrame(); 068 Thread.sleep(5000); 069 WebElement iframe2= driver.findElement(By.xpath("//iframe[@class='fancybox-iframe']")); 070 driver.switchTo().frame(iframe2); 071 assertEquals("Fiscal Officer Lookup", getTextByXpath("//h1/span").trim()); 072 assertEquals("1",getAttributeByName("lookupCriteria[id]", "value")); 073 waitAndClickByXpath("//div[contains(button, 'Search')]/button[3]"); 074 selectFrame("iframeportlet"); 075 076 077 selectOptionByName("lookupCriteria[extension.accountTypeCode]", "CAT"); 078 waitAndClickByXpath("//fieldset[@id='u232_fieldset']/input[@alt='Search Field']"); 079 selectTopFrame(); 080 Thread.sleep(5000); 081 WebElement iframe3= driver.findElement(By.xpath("//iframe[@class='fancybox-iframe']")); 082 driver.switchTo().frame(iframe3); 083 assertEquals("Travel Account Type Lookup", getTextByXpath("//h1/span").trim()); 084 assertEquals("CAT",getAttributeByName("lookupCriteria[accountTypeCode]", "value")); 085 waitAndClickByXpath("//div[contains(button, 'Search')]/button[3]"); 086 selectFrame("iframeportlet"); 087 088 } 089 }