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 edu.samplu.common.KradMenuITBase;
019    import org.junit.Test;
020    
021    import static org.junit.Assert.*;
022    
023    /**
024     * @author Kuali Rice Team (rice.collab@kuali.org)
025     */
026    public class MaintenanceAddDeleteNoteIT extends KradMenuITBase {
027    
028        @Override
029        protected String getLinkLocator() {
030            return "link=Travel Account Maintenance (New)";
031        }
032    
033        @Test
034        /**
035         * Verify we can add and delete a note
036         */
037        public void testVerifyAddDeleteNote() throws Exception {
038            gotoMenuLinkLocator();
039            waitAndClick("css=div.tableborders.wrap.uif-boxLayoutVerticalItem.clearfix  span.uif-headerText-span > img.uif-disclosure-image");
040            
041    
042            for (int second = 0;; second++) {
043                if (second >= 15) {
044                    fail("timeout");
045                }
046                if (isElementPresent("css=button[title='Add a Note'].uif-action.uif-primaryActionButton.uif-smallActionButton")) {
047                    break;
048                }
049    
050                Thread.sleep(1000);
051            }
052    
053            waitAndClick("name=newCollectionLines['document.notes'].noteText");
054            waitAndType("name=newCollectionLines['document.notes'].noteText", "Test note");
055            waitAndClick("css=button[title='Add a Note'].uif-action.uif-primaryActionButton.uif-smallActionButton");
056            for (int second = 0;; second++) {
057                if (second >= 15) {
058                    fail("timeout, https://jira.kuali.org/browse/KULRICE-8038");
059                }
060    
061                if (isElementPresent("name=document.notes[0].noteText")) {
062                    break;
063                }
064    
065                Thread.sleep(1000);
066            }
067    
068            assertEquals("Test note", getText("name=document.notes[0].noteText"));
069            waitAndClick("css=button[title='Delete a Note'].uif-action.uif-primaryActionButton.uif-smallActionButton");
070    
071            for (int second = 0;; second++) {
072                if (second >= 15) {
073                    fail("timeout");
074                }
075    
076                if (!isElementPresent("name=document.notes[0].noteText")) {
077                    break;
078                }
079    
080                Thread.sleep(1000);
081            }
082        }
083    }