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    
017    package edu.samplu.krad.compview;
018    
019    import com.thoughtworks.selenium.DefaultSelenium;
020    import org.junit.After;
021    import org.junit.Before;
022    import org.junit.Test;
023    
024    import static junit.framework.Assert.assertTrue;
025    import static org.junit.Assert.assertEquals;
026    import static org.junit.Assert.assertNotSame;
027    import static org.junit.Assert.fail;
028    
029    /**
030     * tests that the parent line variable is available in a sub collection
031     *
032     * <p>configuration done in /edu/sampleu/demo/kitchensink/UifComponentsViewP7.xml on bean id="subCollection1"</p>
033     *
034     * @author Kuali Rice Team (rice.collab@kuali.org)
035     */
036    public class ParentLineIT {
037        private DefaultSelenium selenium;
038    
039        @Before
040        public void setUp() throws Exception {
041            selenium = new DefaultSelenium("localhost", 4444, "*chrome",  System.getProperty("remote.public.url"));//"http://localhost:8080/"
042            selenium.start();
043        }
044    
045        @Test
046        /**
047         * tests that the size of a sub collection is correctly displayed using the parentLine el variable
048         */
049        public void testSubCollectionSize() throws Exception {
050            selenium.open("/kr-dev/portal.do");
051            selenium.type("name=__login_user", "admin");
052            selenium.click("css=input[type=\"submit\"]");
053            selenium.waitForPageToLoad("30000");
054            selenium.click("link=KRAD");
055            selenium.waitForPageToLoad("30000");
056            selenium.click("link=Uif Components (Kitchen Sink)");
057            selenium.waitForPageToLoad("30000");
058            selenium.selectFrame("iframeportlet");
059            // click on collections page link
060            selenium.click("id=u961");
061            // Thread.sleep(30000);
062            // wait for collections page to load by checking the presence of a sub collection line item
063            for (int second = 0;; second++) {
064                if (second >= 60) fail("timeout");
065                try { if (selenium.isElementPresent("id=u1089_line0_line0_control")) break; } catch (Exception e) {}
066                Thread.sleep(1000);
067            }
068            // verify that sub collection sizes are displayed as expected
069            assertEquals("SubCollection - (3 lines)", selenium.getText("id=u1030_line0"));
070            assertEquals("SubCollection - (2 lines)", selenium.getText("id=u1030_line1"));
071        }
072    
073        @After
074        public void tearDown() throws Exception {
075            selenium.stop();
076        }
077    }