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.library.controls; 017 018 import org.junit.Test; 019 import org.kuali.rice.testtools.selenium.SmokeTestBase; 020 021 /** 022 * @author Kuali Rice Team (rice.collab@kuali.org) 023 */ 024 public class DemoLibraryControlTextAreaSmokeTest extends SmokeTestBase { 025 026 /** 027 * /kr-krad/kradsampleapp?viewId=Demo-TextAreaControl-View 028 */ 029 public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-TextAreaControl-View"; 030 031 @Override 032 protected String getBookmarkUrl() { 033 return BOOKMARK_URL; 034 } 035 036 @Override 037 protected void navigate() throws Exception { 038 waitAndClickById("Demo-LibraryLink", ""); 039 waitAndClickByLinkText("Controls"); 040 waitAndClickByLinkText("Text Area"); 041 } 042 043 protected void testLibraryControlTextAreaDefault() throws Exception { 044 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example1']/textarea[@name='inputField2' and @rows='3' and @cols='40']"); 045 } 046 047 protected void testLibraryControlTextAreaColsAndRowsSet() throws Exception { 048 waitAndClickByLinkText("Cols and Rows set"); 049 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example2']/textarea[@name='inputField2' and @rows='5' and @cols='60']"); 050 } 051 052 protected void testLibraryControlTextAreaTextExpand() throws Exception { 053 waitAndClickByLinkText("Text expand"); 054 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example3']/textarea[@name='inputField2' and @rows='3' and @cols='40']"); 055 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example3']/a[@title='Expand']"); 056 } 057 058 protected void testLibraryControlTextAreaDisabled() throws Exception { 059 waitAndClickByLinkText("Disabled"); 060 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example4']/textarea[@name='inputField2' and @rows='3' and @cols='40' and @disabled]"); 061 } 062 063 protected void testLibraryControlTextAreaWatermarkText() throws Exception { 064 waitAndClickByLinkText("WatermarkText"); 065 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example7']/textarea[@name='inputField2' and @rows='3' and @cols='40' and @placeholder='watermark text ']"); 066 } 067 068 protected void testLibraryControlTextAreaDisableOnKeyEvent() throws Exception { 069 waitAndClickByLinkText("Disable on Key event"); 070 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example8']/textarea[@name='inputField2' and @rows='3' and @cols='40' and @disabled]"); 071 waitAndTypeByXpath("//div[@data-parent='Demo-TextAreaControl-Example8']/textarea[@name='inputField1']","a"); 072 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example8']/textarea[@name='inputField2' and @rows='3' and @cols='40']"); 073 } 074 075 protected void testLibraryControlTextAreaEnableWhenChanged() throws Exception { 076 waitAndClickByLinkText("Enable when changed"); 077 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example9']/textarea[@name='inputField4' and @rows='3' and @cols='40' and @disabled]"); 078 waitAndTypeByXpath("//div[@data-parent='Demo-TextAreaControl-Example9']/textarea[@name='inputField3']","a"); 079 waitAndClickByLinkText("Usage"); 080 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example9']/textarea[@name='inputField4' and @rows='3' and @cols='40']"); 081 } 082 083 protected void testLibraryControlTextAreaDisableWhenChanged() throws Exception { 084 waitAndClickByLinkText("Disable when changed"); 085 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example10']/textarea[@name='inputField6' and @rows='3' and @cols='40']"); 086 waitAndTypeByXpath("//div[@data-parent='Demo-TextAreaControl-Example10']/textarea[@name='inputField5']","a"); 087 waitAndClickByLinkText("Usage"); 088 assertElementPresentByXpath("//div[@data-parent='Demo-TextAreaControl-Example10']/textarea[@name='inputField6' and @rows='3' and @cols='40' and @disabled]"); 089 } 090 091 @Test 092 public void testControlTextAreaBookmark() throws Exception { 093 testLibraryControlTextAreaDefault(); 094 testLibraryControlTextAreaColsAndRowsSet(); 095 testLibraryControlTextAreaTextExpand(); 096 testLibraryControlTextAreaDisabled(); 097 testLibraryControlTextAreaWatermarkText(); 098 testLibraryControlTextAreaDisableOnKeyEvent(); 099 testLibraryControlTextAreaEnableWhenChanged(); 100 testLibraryControlTextAreaDisableWhenChanged(); 101 passed(); 102 } 103 104 @Test 105 public void testControlTextAreaNav() throws Exception { 106 testLibraryControlTextAreaDefault(); 107 testLibraryControlTextAreaColsAndRowsSet(); 108 testLibraryControlTextAreaTextExpand(); 109 testLibraryControlTextAreaDisabled(); 110 testLibraryControlTextAreaWatermarkText(); 111 testLibraryControlTextAreaDisableOnKeyEvent(); 112 testLibraryControlTextAreaEnableWhenChanged(); 113 testLibraryControlTextAreaDisableWhenChanged(); 114 passed(); 115 } 116 }