001 /* 002 * Copyright 2006-2012 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 017 package edu.samplu.travel.krad.test; 018 019 import edu.samplu.common.ITUtil; 020 import org.junit.Test; 021 022 import static junit.framework.Assert.assertEquals; 023 import static junit.framework.Assert.assertTrue; 024 import static junit.framework.Assert.fail; 025 import edu.samplu.common.WebDriverITBase; 026 027 /** 028 * test that dirty fields check happens for all pages in a view 029 * 030 * @author Kuali Rice Team (rice.collab@kuali.org) 031 */ 032 public class DirtyFieldsCheckIT extends WebDriverITBase { 033 @Override 034 public String getTestUrl() { 035 // open Other Examples page in kitchen sink view 036 return "/kr-krad/uicomponents?viewId=UifCompView_KNS&methodToCall=start&readOnlyFields=field91"; 037 } 038 039 @Test 040 public void testDirtyFieldsCheck() throws Exception { 041 checkForIncidentReport(getTestUrl()); 042 Thread.sleep(5000); 043 044 waitAndTypeByName("field1", "test 1"); 045 waitAndTypeByName("field102", "test 2"); 046 047 assertCancelConfirmation(); 048 049 // testing manually 050 waitForElementPresentByName("field100"); 051 waitAndTypeByName("field100", "here"); 052 waitAndTypeByName("field103", "there"); 053 054 // 'Validation' navigation link 055 assertCancelConfirmation(); 056 057 // testing manually 058 waitForElementPresentByName("field106"); 059 // //Asserting text-field style to uppercase. This style would display 060 // input text in uppercase. 061 assertEquals("text-transform: uppercase;",getAttributeByName("field112", "style")); 062 assertCancelConfirmation(); 063 waitForElementPresentByName("field101"); 064 assertEquals("val", getAttributeByName("field101","value")); 065 clearTextByName("field101"); 066 waitAndTypeByName("field101", "1"); 067 waitAndTypeByName("field104", ""); 068 069 assertEquals("1", getAttributeByName("field101","value")); 070 waitAndTypeByName("field104", "2"); 071 // 'Progressive Disclosure' navigation link 072 assertCancelConfirmation(); 073 074 } 075 076 private void assertCancelConfirmation() throws InterruptedException { 077 waitAndClickByLinkText("Cancel"); 078 dismissAlert(); 079 } 080 }