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.admin;
017
018import org.junit.Test;
019
020/**
021 * @author Kuali Rice Team (rice.collab@kuali.org)
022 */
023
024public abstract class AdminTmplMthdAftNavBlanketAppBase extends AdminTmplMthdAftNavCreateNewBase {
025
026    @Override
027    protected String getMenuLinkLocator() {
028        return AdminTmplMthdAftNavBase.ADMIN_LOCATOR;
029    }
030
031    @Override
032    protected String getCreateNewLinkLocator() {
033        return AdminTmplMthdAftNavBase.CREATE_NEW_LOCATOR;
034    }
035
036    protected String testBlanketApprove() throws Exception {
037        selectFrameIframePortlet();
038        waitAndCreateNew();
039        String docId = verifyDocInitiated();
040        assertBlanketApproveButtonsPresent();
041        createNewLookupDetails();
042
043        jGrowl("Click Blanket Approve");
044        waitAndClickByName(BLANKET_APPROVE_NAME,
045                "No blanket approve button does the user " + getUserName() + " have permission?");
046        Thread.sleep(2000);
047
048        int attempts = 0;
049        while (hasDocError() && extractErrorText().contains("a record with the same primary key already exists.") &&
050                ++attempts <= 3) {
051            uniqueString = null; // make sure try a new one
052            jGrowl("record with the same primary key already exists");
053            createNewEnterDetails();
054            jGrowl("Click Blanket Approve");
055            waitAndClickByName(BLANKET_APPROVE_NAME,
056                    "No blanket approve button does the user " + getUserName() + " have permission?");
057        }
058
059        checkForIncidentReport();
060        blanketApproveAssert(docId);
061        return docId;
062    }
063
064    @Test
065    public void testBlanketAppBookmark() throws Exception {
066        testBlanketApprove();
067        passed();
068    }
069
070    @Test
071    public void testBlanketAppNav() throws Exception {
072        testBlanketApprove();
073        passed();
074    }
075}