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 MaintenanceAddDeleteFiscalOfficerIT {
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 a fiscal officer line can be added and deleted
038 */
039 public void testVerifyAddDeleteFiscalOfficer() 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.type("id=u1067_add_control", "1234567890");
050 selenium.type("id=u1101_add_control", "2");
051 selenium.click("id=u1066_add");
052
053 for (int second = 0;; second++) {
054 if (second >= 15) {
055 fail("timeout");
056 }
057
058 if (selenium.isElementPresent("name=document.newMaintainableObject.dataObject.fiscalOfficer.accounts[0].number")) {
059 break;
060 }
061
062 Thread.sleep(1000);
063 }
064
065 assertEquals("1234567890", selenium.getValue("name=document.newMaintainableObject.dataObject.fiscalOfficer.accounts[0].number"));
066 assertEquals("2", selenium.getValue("name=document.newMaintainableObject.dataObject.fiscalOfficer.accounts[0].foId"));
067 selenium.click("css=#u1065_line0");
068
069 for (int second = 0;; second++) {
070 if (second >= 15) {
071 fail("timeout");
072 }
073
074 if (!selenium.isElementPresent("name=document.newMaintainableObject.dataObject.fiscalOfficer.accounts[0].number")) {
075 break;
076 }
077
078 Thread.sleep(1000);
079 }
080 }
081
082 @After
083 public void tearDown() throws Exception {
084 selenium.stop();
085 }
086 }