001    /**
002     * Copyright 2005-2013 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.demo.lookupviews.lookup.conditionalresults;
017    
018    import org.junit.Assert;
019    import org.kuali.rice.testtools.selenium.SmokeTestBase;
020    import org.junit.Test;
021    
022    import static org.junit.Assert.assertEquals;
023    
024    /**
025     * @author Kuali Rice Team (rice.collab@kuali.org)
026     */
027    public class DemoLookUpConditionalResultsSmokeTest extends SmokeTestBase {
028    
029        /**
030         * /kr-krad/lookup?methodToCall=start&viewId=LookupSampleViewConditionalResults&hideReturnLink=true
031         */
032        public static final String BOOKMARK_URL = "/kr-krad/lookup?methodToCall=start&viewId=LookupSampleViewConditionalResults";
033    
034        /**
035         *  lookupCriteria[number]
036         */
037        private static final String LOOKUP_CRITERIA_NUMBER_NAME = "lookupCriteria[number]";
038    
039        /**
040         *  Search
041         */
042        private static final String SEARCH = "Search";
043    
044        /**
045         *  Travel Account Number column
046         */
047        private static final String TRAVEL_ACCOUNT_NAME_COLUMN_NAME = "Travel Account Number";
048    
049        /**
050         *  Account Name column
051         */
052        private static final String ACCOUNT_NAME_COLUMN_NAME = "Account Name";
053    
054        /**
055         *  Date Created column
056         */
057        private static final String DATE_CREATED_COLUMN_NAME = "Date Created";
058    
059        @Override
060        public String getBookmarkUrl() {
061            return BOOKMARK_URL;
062        }
063    
064        @Override
065        protected void navigate() throws Exception {
066            waitAndClickById("Demo-DemoLink", "");
067            waitAndClickByLinkText("Lookup Conditional Results");
068        }
069    
070        protected void testLookUpConditionalResults() throws InterruptedException {
071            // Case 1 - Search of a1 only shows Travel Account Number column
072            waitAndTypeByName(LOOKUP_CRITERIA_NUMBER_NAME, "a1");
073            waitAndClickButtonByText(SEARCH);
074            Thread.sleep(3000);
075            Assert.assertEquals(1, getCssCount("div#uLookupResults thead th"));
076            assertElementPresent("div#uLookupResults thead th:nth-child(1)");
077            assertTextPresent(TRAVEL_ACCOUNT_NAME_COLUMN_NAME, "div#uLookupResults thead th:nth-child(1) label",
078                    "Travel Account Name column not present");
079    
080            // Case 2 - Empty research shows all columns
081            clearTextByName(LOOKUP_CRITERIA_NUMBER_NAME);
082            waitAndClickButtonByText(SEARCH);
083            Thread.sleep(3000);
084            Assert.assertEquals(3, getCssCount("div#uLookupResults thead th"));
085            assertElementPresent("div#uLookupResults thead th:nth-child(1)");
086            assertTextPresent(TRAVEL_ACCOUNT_NAME_COLUMN_NAME, "div#uLookupResults thead th:nth-child(1) label",
087                    "Travel Account Name column not present");
088            assertElementPresent("div#uLookupResults thead th:nth-child(2)");
089            assertTextPresent(ACCOUNT_NAME_COLUMN_NAME, "div#uLookupResults thead th:nth-child(2) label",
090                    "Account Name column not present");
091            assertElementPresent("div#uLookupResults thead th:nth-child(3)");
092            assertTextPresent(DATE_CREATED_COLUMN_NAME, "div#uLookupResults thead th:nth-child(3) label",
093                    "Date Created column not present");
094        }
095    
096        @Test
097        public void testLookUpConditionalResultsBookmark() throws Exception {
098            testLookUpConditionalResults();
099            passed();
100        }
101    
102        @Test
103        public void testLookUpConditionalResultsNav() throws Exception {
104            testLookUpConditionalResults();
105            passed();
106        }
107    }