001/**
002 * Copyright 2005-2014 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.main;
017
018import org.apache.commons.lang.RandomStringUtils;
019import org.junit.Test;
020import org.kuali.rice.testtools.selenium.AutomatedFunctionalTestUtils;
021import org.kuali.rice.testtools.selenium.WebDriverUtils;
022
023/**
024 * @author Kuali Rice Team (rice.collab@kuali.org)
025 */
026public class TermMaintenanceNewAft extends MainTmplMthdSTNavBase {
027
028    /**
029     * ITUtil.PORTAL + "?Term%20Lookup&channelUrl=" + WebDriverUtils.getBaseUrlString() +
030     *  "/kr-krad/maintenance?viewTypeName=MAINTENANCE&methodToCall=start&dataObjectClassName=org.kuali.rice.krms.impl.repository.TermBo&returnLocation=" +
031     *  ITUtil.PORTAL_URL + ITUtil.HIDE_RETURN_LINK;
032     */
033    public static final String BOOKMARK_URL = AutomatedFunctionalTestUtils.PORTAL + "?channelTitle=Term%20Lookup&channelUrl=" + WebDriverUtils.getBaseUrlString()
034            + "/kr-krad/lookup?methodToCall=start&dataObjectClassName=org.kuali.rice.krms.impl.repository.TermBo&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     * Term Lookup
045     * @return
046     */
047    @Override
048    protected String getLinkLocator() {
049        return "Term Lookup";
050    }
051
052    protected void createNewEnterDetails() throws InterruptedException {
053        selectFrameIframePortlet();
054        waitAndClickLinkContainingText("Create New");
055
056        String randomCode = RandomStringUtils.randomAlphabetic(9).toUpperCase();
057        waitAndTypeByName("document.newMaintainableObject.dataObject.description","New Term " + randomCode);
058        waitAndTypeByName("document.newMaintainableObject.dataObject.specificationId", "T1000");
059        waitAndTypeByName("document.newMaintainableObject.dataObject.specification.namespace", "KR_RULE_TEST");
060        waitForProgressLoading();
061        waitForTextPresent("campusSize");
062        waitForTextPresent("java.lang.Integer");
063        waitForElementPresentByXpath("//label[contains(text(),'Specification Description')]/span[contains(text(),'Size in # of students of the campus')]");
064        waitAndTypeByName("document.newMaintainableObject.dataObject.parametersMap[Campus Code]","FakeCampus" + randomCode);
065
066        waitAndClickByXpath("//button[contains(text(),'Submit')]");
067        waitAndClickConfirmationOk();
068        waitForProgressLoading();
069        waitForTextPresent("Document was successfully submitted.", WebDriverUtils.configuredImplicityWait() * 2);
070        waitForTextPresent("FakeCampus" + randomCode);
071    }
072
073    @Test
074    public void testCreateNewTermWithParameterBookmark() throws Exception {
075        createNewEnterDetails();
076        passed();
077    }
078
079    @Test
080    public void testCreateNewTermWithParameterNav() throws Exception {
081        createNewEnterDetails();
082        passed();
083    }
084}