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 */ 016package edu.samplu.admin.test; 017 018import edu.samplu.common.Failable; 019import edu.samplu.common.NavTemplateMethodSTBase; 020import org.openqa.selenium.By; 021 022/** 023 * @author Kuali Rice Team (rice.collab@kuali.org) 024 */ 025public abstract class AdminTmplMthdSTNavBase extends NavTemplateMethodSTBase { 026 027 public static final String CREATE_NEW_LOCATOR = "//img[contains(@alt,'create new')]"; 028// public static final String CREATE_NEW_LOCATOR = "//a[contains(@href,'command=initiate')]"; // not with IE8 029// public static final String CREATE_NEW_LOCATOR = "//a[@title='Create a new record']"; // not with IE8 030 public static final String ADMIN_LOCATOR = "Administration"; 031 public static final String LABEL_KUALI_KUALI_SYSTEMS = "KUALI - Kuali Systems"; 032 public static final String LABEL_KUALI_DEFAULT = "KUALI : Default"; 033 public static final String SPAN_CLASS_PAGEBANNER = "//span[@class='pagebanner']"; 034 035 @Override 036 protected String getCreateNewLinkLocator() { 037 return CREATE_NEW_LOCATOR; 038 } 039 040 @Override 041 protected String getMenuLinkLocator() { 042 return ADMIN_LOCATOR; 043 } 044 045 /** 046 * tests that a getLinkLocator maintenance document can be cancelled 047 */ 048 public void testCreateNewCancelNav() throws Exception { 049 gotoCreateNew(); 050 testCancelConfirmation(); 051 } 052 053 /** 054 * tests that a getLinkLocator maintenance document is created for an edit operation originating from a lookup screen 055 */ 056 public void testEditCancel() throws Exception { 057 testSearchEditCancel(); 058 } 059 060 public void testSearchEditBack(Failable failable) throws Exception { 061 waitAndClickSearch2(); 062 String pageBannerText = getTextByXpath(SPAN_CLASS_PAGEBANNER); 063 waitAndClickByLinkText("edit"); 064 waitFor(By.name(BLANKET_APPROVE_NAME)); 065 back(); 066 checkForIncidentReport(); 067 assertTextPresent("Going back from Edit Search results not available", pageBannerText); 068 } 069 070 public void testSearchSearchBack(Failable failable, String fieldName, String searchText) throws Exception { 071 waitAndClickSearch2(); 072 String pageBannerText = getTextByXpath(SPAN_CLASS_PAGEBANNER); 073 waitAndTypeByName(fieldName, searchText); 074 waitAndClickSearch2(); 075 back(); 076 assertTextPresent("Going back from Search to Search results not available", pageBannerText); 077 } 078}