001/**
002 * Copyright 2005-2015 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.kuali.rice.testtools.selenium.AutomatedFunctionalTestUtils;
019import org.kuali.rice.testtools.selenium.WebDriverUtils;
020
021/**
022 * @author Kuali Rice Team (rice.collab@kuali.org)
023 */
024public class CreateNewAgendaAftBase extends MainTmplMthdSTNavBase{
025
026    /**
027     * ITUtil.PORTAL + "?channelTitle=Create%20New%20Agenda&channelUrl=" + WebDriverUtils.getBaseUrlString() +
028     *  "/kr-krad/krmsAgendaEditor?methodToCall=start&dataObjectClassName=org.kuali.rice.krms.impl.ui.AgendaEditor&returnLocation=" +
029     *  ITUtil.PORTAL_URL + ITUtil.HIDE_RETURN_LINK;
030     */
031    public static final String BOOKMARK_URL = AutomatedFunctionalTestUtils.PORTAL + "?channelTitle=Create%20New%20Agenda&channelUrl=" + WebDriverUtils
032            .getBaseUrlString() +"/kr-krad/krmsAgendaEditor?methodToCall=start&dataObjectClassName=org.kuali.rice.krms.impl.ui.AgendaEditor&returnLocation=" +
033            AutomatedFunctionalTestUtils.PORTAL_URL + AutomatedFunctionalTestUtils.HIDE_RETURN_LINK;
034
035    @Override
036    protected String getBookmarkUrl() {
037        return BOOKMARK_URL;
038    }
039
040    /**
041     * {@inheritDoc}
042     * Create New Agenda
043     * @return
044     */
045    @Override
046    protected String getLinkLocator() {
047        return "Create New Agenda";
048    }
049
050    protected void testCreateNewAgenda() throws Exception {
051        selectFrameIframePortlet();
052        String desc = getDescriptionUnique();
053        String docId = waitForAgendaDocId();
054        waitAndSelectLabeled("Namespace:", "Kuali Rules Test");
055        waitAndTypeLabeledInput("Name:", desc);
056        fireEvent("document.newMaintainableObject.dataObject.contextName", "focus");
057        waitAndTypeLabeledInput("Context:", "Context1");
058        fireEvent("document.newMaintainableObject.dataObject.contextName", "blur");
059        Thread.sleep(1000);
060        // extra focus and blur to work around KULRICE-11534 Create New Agenda requires two blur events to fully render Type when Context is typed in (first renders label, second renders select)
061        fireEvent("document.newMaintainableObject.dataObject.contextName", "focus");
062        Thread.sleep(500);
063        fireEvent("document.newMaintainableObject.dataObject.contextName", "blur");
064        waitForElementPresentByName("document.newMaintainableObject.dataObject.agenda.typeId");
065        waitAndSelectLabeled("Type:", "Campus Agenda");
066        waitForElementPresentByName("document.newMaintainableObject.dataObject.customAttributesMap[Campus]");
067        waitAndTypeLabeledInput("Campus:", "BL");
068        waitAndTypeLabeledInput("label:", "Type label for " + desc);
069        submitSuccessfully();
070        assertDocSearch(docId, "FINAL");
071    }
072}