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.travel.account;
017    
018    import org.kuali.rice.testtools.selenium.SmokeTestBase;
019    import org.junit.Test;
020    import org.openqa.selenium.By;
021    
022    /**
023     * @author Kuali Rice Team (rice.collab@kuali.org)
024     */
025    public class DemoTravelAccountInquirySmokeTest extends SmokeTestBase {
026    
027        /**
028         * //a[@title='Travel Account ']
029         */
030        public static final String ANCHOR_TITLE_TRAVEL_ACCOUNT = "//a[@id='subAccounts_toggle']";
031    
032        /**
033         * /kr-krad/inquiry?methodToCall=start&number=a14&dataObjectClassName=org.kuali.rice.krad.demo.travel.dataobject.TravelAccount
034         */
035        public static final String BOOKMARK_URL = "/kr-krad/inquiry?methodToCall=start&number=a14&dataObjectClassName=org.kuali.rice.krad.demo.travel.dataobject.TravelAccount";
036    
037        /**
038         * Collapse All
039         */
040        public static final String COLLAPSE_ALL = "Collapse All";
041    
042        /**
043         * Expand All
044         */
045        public static final String EXPAND_ALL = "Expand All";
046    
047        @Override
048        public String getBookmarkUrl() {
049            return BOOKMARK_URL;
050        }
051    
052        @Override
053        protected void navigate() throws Exception {
054            waitAndClickById("Demo-DemoLink", "");
055            waitAndClickByLinkText("Travel Account Inquiry");
056        }
057    
058        protected void testInquiryBackButton() throws Exception {
059            waitAndClickButtonByText("Back");
060            Thread.sleep(2000); // seems to take a while to load
061            waitForElementPresentByXpath("//a[contains(text(), 'Account Inquiry')]", "Expected Demo - Travel Application did back work?");
062            assertTextPresent("Demo - Travel Application", "Expected Demo - Travel Application did back work?");
063        }
064    
065        protected void testInquiryBackToLoginButton() throws Exception {
066            waitAndClickButtonByText("Back");
067            Thread.sleep(2000); // seems to take a while to load
068            waitForElementPresentById("Rice-LoginButton", "Expected Login - Travel Application Bookmark back work?");
069        }
070    
071        protected void testCollapseExpand() throws InterruptedException {
072            checkForIncidentReport();
073            waitForElementPresentByClassName("demo-contactInfo");
074            assertTextPresent("Travel Account Number:");
075            assertTextPresent(EXPAND_ALL);
076            assertTextPresent(COLLAPSE_ALL);
077    //        assertIsVisibleByXpath(ANCHOR_TITLE_TRAVEL_ACCOUNT, ""); // sub accounts removed
078    
079            waitAndClickButtonByText(COLLAPSE_ALL);
080            Thread.sleep(2000);
081            assertIsNotVisible(By.linkText("a"), " after clicking " + COLLAPSE_ALL);
082    
083            waitAndClickButtonByText(EXPAND_ALL);
084            Thread.sleep(2000);
085            assertIsVisible(By.linkText("a"), " after clicking " + EXPAND_ALL);
086        }
087    
088        protected void testInquiryLightBox() throws Exception {
089            waitAndClickByLinkText("a14");
090            assertIsVisibleByXpath(ANCHOR_TITLE_TRAVEL_ACCOUNT, "");
091        }
092    
093        @Test
094        public void testInquiryCollapseExpandBookmark() throws Exception {
095            testCollapseExpand();
096            passed();
097        }
098    
099        @Test
100        public void testInquiryLightBoxBookmark() throws Exception {
101            testInquiryLightBox();
102            passed();
103        }
104    
105        @Test
106        public void testInquiryBackButtonBookmark() throws Exception {
107            testInquiryBackToLoginButton();
108            passed();
109        }
110    
111        @Test
112        public void testInquiryCollapseExpandNav() throws Exception {
113            testCollapseExpand();
114            passed();
115        }
116    
117        @Test
118        public void testInquiryLightBoxNav() throws Exception {
119            testInquiryLightBox();
120            passed();
121        }
122    
123        @Test
124        public void testInquiryBackButtonNav() throws Exception {
125            testInquiryBackButton();
126            passed();
127        }
128    }