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 MaintenanceAddDeleteNoteIT {
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 we can add and delete a note
038 */
039 public void testVerifyAddDeleteNote() 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 selenium.click("css=#u168_col");
050
051 for (int second = 0;; second++) {
052 if (second >= 15) {
053 fail("timeout");
054 }
055
056 if (selenium.isElementPresent("css=#u221_add")) {
057 break;
058 }
059
060 Thread.sleep(1000);
061 }
062
063 selenium.click("id=u334_add_control");
064 selenium.type("id=u334_add_control", "Test note");
065 selenium.click("id=u282_add");
066
067 for (int second = 0;; second++) {
068 if (second >= 15) {
069 fail("timeout");
070 }
071
072 if (selenium.isElementPresent("name=document.notes[0].noteText")) {
073 break;
074 }
075
076 Thread.sleep(1000);
077 }
078
079 assertEquals("Test note", selenium.getText("name=document.notes[0].noteText"));
080 selenium.click("id=u280_line0");
081
082 for (int second = 0;; second++) {
083 if (second >= 15) {
084 fail("timeout");
085 }
086
087 if (!selenium.isElementPresent("name=document.notes[0].noteText")) {
088 break;
089 }
090
091 Thread.sleep(1000);
092 }
093 }
094
095 @After
096 public void tearDown() throws Exception {
097 selenium.stop();
098 }
099 }