001 /**
002 * Copyright 2005-2013 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.samplu.admin.test;
017
018 import edu.samplu.common.Failable;
019 import edu.samplu.common.ITUtil;
020 import edu.samplu.common.WebDriverLegacyITBase;
021
022 /**
023 * Tests the Component section in Rice.
024 *
025 * @author Kuali Rice Team (rice.collab@kuali.org)
026 */
027 public abstract class ComponentAbstractSmokeTestBase extends WebDriverLegacyITBase {
028
029 String docId;
030
031 /**
032 * for Component Parameter
033 */
034 public static final String FOR_TEST_MESSAGE = " for Component Parameter";
035
036 /**
037 * ITUtil.PORTAL + "?channelTitle=Component&channelUrl=" + ITUtil.getBaseUrlString() +
038 "/kr/lookup.do?methodToCall=start&businessObjectClassName=org.kuali.rice.coreservice.impl.component.ComponentBo&docFormKey=88888888&returnLocation=" +
039 ITUtil.PORTAL_URL + "&hideReturnLink=true";
040 */
041 public static final String BOOKMARK_URL = ITUtil.PORTAL + "?channelTitle=Component&channelUrl=" + ITUtil.getBaseUrlString() +
042 "/kr/lookup.do?methodToCall=start&businessObjectClassName=org.kuali.rice.coreservice.impl.component.ComponentBo&docFormKey=88888888&returnLocation=" +
043 ITUtil.PORTAL_URL + "&hideReturnLink=true";
044
045 protected void bookmark() {
046 open(ITUtil.getBaseUrlString() + BOOKMARK_URL);
047 }
048
049 /**
050 * Bookmark tests should call bookmark(), navigation tests should call navigation()
051 * @throws Exception
052 */
053 protected abstract void gotoTest() throws Exception;
054
055 protected void navigtaion() throws InterruptedException {
056 waitAndClickAdministration(this);
057 waitForTitleToEqualKualiPortalIndex();
058 checkForIncidentReport("Component");
059 selectFrameIframePortlet();
060 waitAndClickByLinkText("Component");
061 // selectFrame("relative=up");
062 checkForIncidentReport("Component");
063 }
064
065 protected void testComponentCreateNewCancelBookmark(Failable failable) throws Exception {
066 waitAndCreateNew();
067 testCancelConfirmation();
068 passed();
069 }
070
071 protected void testComponentCreateNewCancelNav(Failable failable) throws Exception {
072 navigtaion(); // setUp only takes us to the portal, need to navigate to the test
073 waitAndCreateNew();
074 testCancelConfirmation();
075 passed();
076 }
077
078 protected void testComponentParameterBookmark(Failable failable) throws Exception {
079 testComponentParameter();
080 passed();
081 }
082
083 protected void testComponentParameterNav(Failable failable) throws Exception {
084 navigtaion(); // setUp only takes us to the portal, need to navigate to the test
085 testComponentParameter();
086 passed();
087 }
088
089 protected void testComponentParameter() throws Exception {
090 //Create New
091 waitAndCreateNew();
092 String componentName = "TestName" + ITUtil.createUniqueDtsPlusTwoRandomChars();
093 String componentCode = "TestCode" + ITUtil.createUniqueDtsPlusTwoRandomChars();
094 docId = testCreateNewComponent(componentName, componentCode, FOR_TEST_MESSAGE);
095
096 //Lookup
097 gotoTest();
098 testLookUpComponent(docId, componentName, componentCode);
099
100 //edit
101 testEditComponent(docId, componentName, componentCode);
102
103 //Verify if its edited
104 gotoTest();
105 testVerifyEditedComponent(docId, componentName, componentCode);
106
107 //copy
108 testCopyComponent(docId, componentName + "copy", componentCode + "copy");
109
110 //Verify if its copied
111 gotoTest();
112 testVerifyCopyComponent(docId, componentName + "copy", componentCode + "copy");
113 }
114 }