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