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
020 import org.kuali.rice.testtools.selenium.Failable;
021 import org.kuali.rice.testtools.selenium.ITUtil;
022 import org.kuali.rice.testtools.selenium.SmokeTestBase;
023 import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
024
025 /**
026 * @author Kuali Rice Team (rice.collab@kuali.org)
027 */
028 public class DemoLibraryControlTextSmokeTest extends SmokeTestBase {
029
030 /**
031 * /kr-krad/kradsampleapp?viewId=Demo-TextControl-View&methodToCall=start
032 */
033 public static final String BOOKMARK_URL = "/kr-krad/kradsampleapp?viewId=Demo-TextControl-View&methodToCall=start";
034
035 /**
036 * //div[@id='Demo-TextControl-Example1']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField1']
037 */
038 private static final String DEFAULT_TXT_FIELD_XPATH = "//div[@id='Demo-TextControl-Example1']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField1']";
039
040 /**
041 * //div[@id='Demo-TextControl-Example2']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField2']
042 */
043 private static final String SIZE_TXT_FIELD_XPATH = "//div[@id='Demo-TextControl-Example2']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField2']";
044
045 /**
046 * //div[@id='Demo-TextControl-Example3']/div[@class='uif-verticalBoxLayout clearfix']/div/a[@title='Expand']
047 */
048 private static final String EXPAND_TXT_FIELD_XPATH = "//div[@id='Demo-TextControl-Example3']/div[@class='uif-verticalBoxLayout clearfix']/div/a[@title='Expand']";
049
050 /**
051 * //div[@id='Demo-TextControl-Example4']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField4' and @disabled='disabled']
052 */
053 private static final String DISABLED_TXT_FIELD_XPATH = "//div[@id='Demo-TextControl-Example4']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField4' and @disabled='disabled']";
054
055 /**
056 * //div[@id='Demo-TextControl-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField5' and @placeholder='watermark text ']
057 */
058 private static final String WATERMARK_TXT_FIELD_XPATH = "//div[@id='Demo-TextControl-Example7']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField5' and @placeholder='watermark text ']";
059
060 /**
061 * //div[@id='Demo-TextControl-Example8']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField7' and @disabled='disabled']
062 */
063 private static final String DISABLE_ON_KEY_EVENT_TXT_FIELD_XPATH_BEFORE = "//div[@id='Demo-TextControl-Example8']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField7' and @disabled='disabled']";
064
065 /**
066 * //div[@id='Demo-TextControl-Example8']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField7']
067 */
068 private static final String DISABLE_ON_KEY_EVENT_TXT_FIELD_XPATH_AFTER = "//div[@id='Demo-TextControl-Example8']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField7']";
069
070 /**
071 * //div[@id='Demo-TextControl-Example9']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField9' and @disabled='disabled']
072 */
073 private static final String ENABLE_WHEN_CHANGED_TXT_FIELD_XPATH_BEFORE = "//div[@id='Demo-TextControl-Example9']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField9' and @disabled='disabled']";
074
075 /**
076 * //div[@id='Demo-TextControl-Example9']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField9']
077 */
078 private static final String ENABLE_WHEN_CHANGED_TXT_FIELD_XPATH_AFTER = "//div[@id='Demo-TextControl-Example9']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField9']";
079
080 /**
081 * //div[@id='Demo-TextControl-Example10']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField11' and @disabled='disabled']
082 */
083 private static final String DISABLE_WHEN_CHANGED_TXT_FIELD_XPATH_AFTER = "//div[@id='Demo-TextControl-Example10']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField11' and @disabled]";
084
085 /**
086 * //div[@id='Demo-TextControl-Example10']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField11']
087 */
088 private static final String DISABLE_WHEN_CHANGED_TXT_FIELD_XPATH_BEFORE = "//div[@id='Demo-TextControl-Example10']/div[@class='uif-verticalBoxLayout clearfix']/div/input[@type='text' and @name='inputField11']";
089
090 @Override
091 protected String getBookmarkUrl() {
092 return BOOKMARK_URL;
093 }
094
095 @Override
096 protected void navigate() throws Exception {
097 waitAndClickById("Demo-LibraryLink", "");
098 waitAndClickByLinkText("Controls");
099 waitAndClickByLinkText("Text");
100 }
101
102 protected void testLibraryControlTextDefault() throws Exception {
103 waitForElementPresentByXpath(DEFAULT_TXT_FIELD_XPATH);
104 waitAndTypeByXpath(DEFAULT_TXT_FIELD_XPATH,"HiText!");
105 }
106
107 protected void testLibraryControlTextSize() throws Exception {
108 waitAndClickByLinkText("Size");
109 waitForElementPresentByXpath(SIZE_TXT_FIELD_XPATH);
110 waitAndTypeByXpath(SIZE_TXT_FIELD_XPATH,"HiTextHiTextHiTextHiTextHiTextHiTextHiTextHiTextHiTextHiText");
111 }
112
113 protected void testLibraryControlTextExpand() throws Exception {
114 waitAndClickByLinkText("Text expand");
115 waitForElementPresentByXpath(EXPAND_TXT_FIELD_XPATH);
116 }
117
118 protected void testLibraryControlTextDisabled() throws Exception {
119 waitAndClickByLinkText("Disabled");
120 waitForElementPresentByXpath(DISABLED_TXT_FIELD_XPATH);
121 }
122
123 protected void testLibraryControlTextWatermarkText() throws Exception {
124 waitAndClickByLinkText("WatermarkText");
125 waitForElementPresentByXpath(WATERMARK_TXT_FIELD_XPATH);
126 }
127
128 protected void testLibraryControlTextDisableOnKeyEvent() throws Exception {
129 waitAndClickByLinkText("Disable on Key event");
130 assertElementPresentByXpath(DISABLE_ON_KEY_EVENT_TXT_FIELD_XPATH_BEFORE);
131 waitAndTypeByName("inputField6","a");
132 assertElementPresentByXpath(DISABLE_ON_KEY_EVENT_TXT_FIELD_XPATH_AFTER);
133 }
134
135 protected void testLibraryControlTextEnableWhenChanged() throws Exception {
136 waitAndClickByLinkText("Enable when changed");
137 assertElementPresentByXpath(ENABLE_WHEN_CHANGED_TXT_FIELD_XPATH_BEFORE);
138 waitAndTypeByName("inputField8","a");
139 waitAndClickByLinkText("Usage");
140 assertElementPresentByXpath(ENABLE_WHEN_CHANGED_TXT_FIELD_XPATH_AFTER);
141 }
142
143 protected void testLibraryControlTextDisableWhenChanged() throws Exception {
144 waitAndClickByLinkText("Disable when changed");
145 assertElementPresentByXpath(DISABLE_WHEN_CHANGED_TXT_FIELD_XPATH_BEFORE);
146 waitAndTypeByName("inputField10","a");
147 waitAndClickByLinkText("Usage");
148 assertElementPresentByXpath(DISABLE_WHEN_CHANGED_TXT_FIELD_XPATH_AFTER);
149 }
150
151 @Test
152 public void testControlTextBookmark() throws Exception {
153 testLibraryControlTextDefault();
154 testLibraryControlTextSize();
155 testLibraryControlTextExpand();
156 testLibraryControlTextDisabled();
157 testLibraryControlTextWatermarkText();
158 testLibraryControlTextDisableOnKeyEvent();
159 testLibraryControlTextEnableWhenChanged();
160 testLibraryControlTextDisableWhenChanged();
161 passed();
162 }
163
164 @Test
165 public void testControlTextNav() throws Exception {
166 testLibraryControlTextDefault();
167 testLibraryControlTextSize();
168 testLibraryControlTextExpand();
169 testLibraryControlTextDisabled();
170 testLibraryControlTextWatermarkText();
171 testLibraryControlTextDisableOnKeyEvent();
172 testLibraryControlTextEnableWhenChanged();
173 testLibraryControlTextDisableWhenChanged();
174 passed();
175 }
176 }