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     */
016    package edu.sampleu.admin;
017    
018    /**
019     * @author Kuali Rice Team (rice.collab@kuali.org)
020     */
021    public abstract class ConfigComponentAftBase extends AdminTmplMthdAftNavBase {
022    
023        protected void createNewEnterDetails() throws InterruptedException {
024            waitAndTypeByName("document.documentHeader.documentDescription", getDescriptionUnique());
025            selectOptionByName("document.newMaintainableObject.namespaceCode", namespaceCode);
026            jiraAwareTypeByName("document.newMaintainableObject.code", "code" + uniqueString);
027            jiraAwareTypeByName("document.newMaintainableObject.name", "name" + uniqueString);
028        }
029    
030        /**
031         * {@inheritDoc}
032         * Component
033         * @return
034         */
035        @Override
036        protected String getLinkLocator() {
037            return "Component";
038        }
039    
040        protected void saveAndClose() throws InterruptedException {
041            checkForDocError();
042            waitAndClickByXpath(SAVE_XPATH);
043            waitForTextPresent("Document was successfully saved");
044            waitAndClickByName("methodToCall.close");
045    //         waitAndClickByName("methodToCall.processAnswer.button1");
046        }
047    
048        protected void saveAndReload() throws InterruptedException {
049            checkForDocError();
050            waitAndClickByXpath(SAVE_XPATH);
051            waitForTextPresent("Document was successfully saved");
052            waitAndClickByName("methodToCall.reload");
053    //         waitAndClickByName("methodToCall.processAnswer.button1");
054        }
055    
056        protected void submitAndClose() throws InterruptedException {
057            checkForDocError();
058            waitAndClickByName("methodToCall.route");
059            waitForTextPresent("Document was successfully submitted");
060            waitAndClickByName("methodToCall.close");
061    //         waitAndClickByName("methodToCall.processAnswer.button1");
062        }
063    
064        /**
065         * submits the doc and asserts that it was successfully submitted
066         * does not close the document
067         *
068         * @throws InterruptedException
069         */
070        protected void submit() throws InterruptedException {
071            checkForDocError();
072            waitAndClickByName("methodToCall.route");
073            waitForTextPresent("Document was successfully submitted");
074        }
075    
076        /**
077         * recalls a document.
078         * closes the page when done.
079         *
080         * @param cancel if true, performs recall and cancel. if false, performs recall to action list
081         *
082         * @throws InterruptedException
083         */
084        protected void recall(boolean cancel) throws InterruptedException {
085            waitAndClickByName("methodToCall.recall");
086            waitForTextPresent("the reason below");
087            waitAndTypeByName("reason", "Oops!");
088            if (cancel){
089                // recall and cancel
090                waitAndClickByName("methodToCall.processAnswer.button1");
091                waitForTextPresent("RECALLED");
092                waitAndClickByName("methodToCall.close");
093            } else {
094                // recall to action list
095                waitAndClickByName("methodToCall.processAnswer.button0");
096                waitForTextPresent("SAVED");
097                waitAndClickByName("methodToCall.close");
098                waitAndClickByName("methodToCall.processAnswer.button1");
099            }
100        }
101    
102    }