001/**
002 * Copyright 2005-2016 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.sampleu.kim.api.location;
017
018import edu.sampleu.admin.AdminTmplMthdAftNavBlanketAppBase;
019import org.kuali.rice.testtools.selenium.AutomatedFunctionalTestUtils;
020import org.kuali.rice.testtools.selenium.WebDriverUtils;
021
022/**
023 * @author Kuali Rice Team (rice.collab@kuali.org)
024 */
025public class LocationPostCodeAft extends AdminTmplMthdAftNavBlanketAppBase {
026
027    /**
028     * ITUtil.PORTAL + "?channelTitle=Postal%20Code&channelUrl=" 
029     * + WebDriverUtils.getBaseUrlString() + ITUtil.KNS_LOOKUP_METHOD + "org.kuali.rice.location.impl.postalcode.PostalCodeBo&docFormKey=88888888&returnLocation=" +
030     * ITUtil.PORTAL_URL + ITUtil.HIDE_RETURN_LINK;
031     */
032    public static final String BOOKMARK_URL = AutomatedFunctionalTestUtils.PORTAL + "?channelTitle=Postal%20Code&channelUrl="
033            + WebDriverUtils.getBaseUrlString() + AutomatedFunctionalTestUtils.KNS_LOOKUP_METHOD +
034            "org.kuali.rice.location.impl.postalcode.PostalCodeBo&docFormKey=88888888&returnLocation=" +
035            AutomatedFunctionalTestUtils.PORTAL_URL + AutomatedFunctionalTestUtils.HIDE_RETURN_LINK ;
036
037    @Override
038    protected String getBookmarkUrl() {
039        return BOOKMARK_URL;
040    }
041
042    /**
043     * {@inheritDoc}
044     * Postal Code
045     * @return
046     */
047    @Override
048    protected String getLinkLocator() {
049        return "Postal Code";
050    }
051
052    @Override
053    protected void createNewEnterDetails() throws InterruptedException {
054        inputDetails();
055
056        jiraAwareClearAndTypeByName("document.newMaintainableObject.countryCode", "US");
057        jiraAwareClearAndTypeByName("document.newMaintainableObject.stateCode", "IN");
058    }
059
060    private void inputDetails() throws InterruptedException {
061        waitForElementPresentByName("document.documentHeader.documentDescription");
062
063        jiraAwareClearAndTypeByName("document.documentHeader.documentDescription", getDescriptionUnique());
064        jiraAwareClearAndTypeByName("document.newMaintainableObject.code", uniqueString.substring(7, 12));
065        jiraAwareClearAndTypeByName("document.newMaintainableObject.cityName", "name" + uniqueString);
066    }
067
068    @Override
069    protected void createNewLookupDetails() throws InterruptedException {
070        inputDetails();
071
072        String countryLookUp = "//input[@name='methodToCall.performLookup.(!!org.kuali.rice.location.impl.country.CountryBo!!).(((code:document.newMaintainableObject.countryCode,))).((`document.newMaintainableObject.countryCode:code,`)).((<>)).(([])).((**)).((^^)).((&&)).((//)).((~~)).(::::;"
073                + getBaseUrlString() + "/kr/lookup.do;::::).anchor4']";
074        waitAndClickByXpath(countryLookUp);
075        waitAndTypeByName("code", "US");
076        waitAndClickSearch();
077        waitAndClickReturnValue();
078
079        String stateLookUp = "//input[@name='methodToCall.performLookup.(!!org.kuali.rice.location.impl.state.StateBo!!).(((countryCode:document.newMaintainableObject.countryCode,code:document.newMaintainableObject.stateCode,))).((`document.newMaintainableObject.countryCode:countryCode,document.newMaintainableObject.stateCode:code,`)).((<>)).(([])).((**)).((^^)).((&&)).((//)).((~~)).(::::;"
080                + getBaseUrlString() + "/kr/lookup.do;::::).anchor4']";
081        waitAndClickByXpath(stateLookUp);
082        waitAndClickSearch();
083        waitAndClickByXpath("//table[@id='row']/tbody/tr[4]/td[1]/a");
084    }
085}