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 package edu.samplu.krad.travelview;
017
018 import com.thoughtworks.selenium.DefaultSelenium;
019 import com.thoughtworks.selenium.Selenium;
020 import org.junit.After;
021 import org.junit.Before;
022 import org.junit.Test;
023
024 import static org.junit.Assert.*;
025
026 public class MaintenanceDisclosuresIT {
027 private Selenium selenium;
028
029 @Before
030 public void setUp() throws Exception {
031 selenium = new DefaultSelenium("localhost", 4444, "*chrome", System.getProperty("remote.public.url"));
032 selenium.start();
033 }
034
035 @Test
036 /**
037 * Verify disclosures are present and functional
038 */
039 public void testVerifyDisclosures() throws Exception {
040 selenium.open("/kr-dev/portal.do");
041 selenium.type("name=__login_user", "admin");
042 selenium.click("css=input[type=\"submit\"]");
043 selenium.waitForPageToLoad("30000");
044 selenium.click("link=KRAD");
045 selenium.waitForPageToLoad("50000");
046 selenium.click("link=Travel Account Maintenance (New)");
047 selenium.waitForPageToLoad("100000");
048 selenium.selectFrame("iframeportlet");
049
050 assertTrue(selenium.isElementPresent("css=#u93_exp"));
051 assertTrue(selenium.isElementPresent("css=#u779_exp"));
052 assertTrue(selenium.isElementPresent("css=#u955_exp"));
053 assertTrue(selenium.isElementPresent("css=#u168_col"));
054 assertTrue(selenium.isElementPresent("css=#u416_col"));
055 assertTrue(selenium.isElementPresent("css=#u755_col"));
056 selenium.click("id=u93_exp");
057
058 for (int second = 0;; second++) {
059 if (second >= 15) {
060 fail("timeout");
061 }
062
063 if (!selenium.isVisible("css=#u116_label")) {
064 break;
065 }
066
067 Thread.sleep(1000);
068 }
069
070 selenium.click("id=u93_col");
071
072 for (int second = 0;; second++) {
073 if (second >= 15) {
074 fail("timeout");
075 }
076
077 if (selenium.isVisible("css=#u116_label")) {
078 break;
079 }
080
081 Thread.sleep(1000);
082 }
083
084 selenium.click("id=u779_exp");
085
086 for (int second = 0;; second++) {
087 if (second >= 15) {
088 fail("timeout");
089 }
090
091 if (!selenium.isVisible("css=#u802_label")) {
092 break;
093 }
094
095 Thread.sleep(1000);
096 }
097
098 selenium.click("id=u779_col");
099
100 for (int second = 0;; second++) {
101 if (second >= 15) {
102 fail("timeout");
103 }
104
105 if (selenium.isVisible("css=#u802_label")) {
106 break;
107 }
108
109 Thread.sleep(1000);
110 }
111
112 selenium.click("css=#u955_toggle > span.uif-headerText-span");
113
114 for (int second = 0;; second++) {
115 if (second >= 15) {
116 fail("timeout");
117 }
118
119 if (!selenium.isVisible("css=h4.uif-headerText > span.uif-headerText-span")) {
120 break;
121 }
122
123 Thread.sleep(1000);
124 }
125
126 selenium.click("css=#u955_toggle > span.uif-headerText-span");
127
128 for (int second = 0;; second++) {
129 if (second >= 15) {
130 fail("timeout");
131 }
132
133 if (selenium.isVisible("css=h4.uif-headerText > span.uif-headerText-span")) {
134 break;
135 }
136
137 Thread.sleep(1000);
138 }
139
140 selenium.click("css=#u168_toggle > span.uif-headerText-span");
141
142 for (int second = 0;; second++) {
143 if (second >= 15) {
144 fail("timeout");
145 }
146
147 if (selenium.isVisible("css=#u221_add")) {
148 break;
149 }
150
151 Thread.sleep(1000);
152 }
153
154 selenium.click("css=#u168_toggle > span.uif-headerText-span");
155
156 for (int second = 0;; second++) {
157 if (second >= 15) {
158 fail("timeout");
159 }
160
161 if (!selenium.isVisible("css=#u221_add")) {
162 break;
163 }
164
165 Thread.sleep(1000);
166 }
167
168 selenium.click("css=#u416_toggle > span.uif-headerText-span");
169
170 for (int second = 0;; second++) {
171 if (second >= 15) {
172 fail("timeout");
173 }
174
175 if (selenium.isVisible("css=#u440 > h4.uif-headerText > span.uif-headerText-span")) {
176 break;
177 }
178
179 Thread.sleep(1000);
180 }
181
182 selenium.click("css=#u416_toggle > span.uif-headerText-span");
183
184 for (int second = 0;; second++) {
185 if (second >= 15) {
186 fail("timeout");
187 }
188
189 if (!selenium.isVisible("css=#u440 > h4.uif-headerText > span.uif-headerText-span")) {
190 break;
191 }
192
193 Thread.sleep(1000);
194 }
195
196 selenium.click("css=#u755_toggle > span.uif-headerText-span");
197
198 for (int second = 0;; second++) {
199 if (second >= 15) {
200 fail("timeout");
201 }
202
203 if (selenium.isVisible("id=routeLogIFrame")) {
204 break;
205 }
206
207 Thread.sleep(1000);
208 }
209
210 selenium.click("css=#u755_toggle > span.uif-headerText-span");
211
212 for (int second = 0;; second++) {
213 if (second >= 15) {
214 fail("timeout");
215 }
216
217 if (!selenium.isVisible("id=routeLogIFrame")) {
218 break;
219 }
220
221 Thread.sleep(1000);
222 }
223 }
224
225 @After
226 public void tearDown() throws Exception {
227 selenium.stop();
228 }
229 }