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 import org.kuali.rice.testtools.selenium.AutomatedFunctionalTestUtils;
019 import org.kuali.rice.testtools.selenium.WebDriverUtils;
020
021 /**
022 * @author Kuali Rice Team (rice.collab@kuali.org)
023 */
024 public abstract class ConfigComponentActionListAftBase extends ConfigComponentAftBase {
025
026 /**
027 * ITUtil.PORTAL+"?channelTitle=Component&channelUrl="+WebDriverUtils.getBaseUrlString()+
028 * "/kr/lookup.do?methodToCall=start&businessObjectClassName=org.kuali.rice.coreservice.impl.component.ComponentBo&docFormKey=88888888&returnLocation="+
029 * +ITUtil.PORTAL_URL+ ITUtil.HIDE_RETURN_LINK;
030 */
031 public static final String BOOKMARK_URL = AutomatedFunctionalTestUtils.PORTAL+"?channelTitle=Component&channelUrl="+ WebDriverUtils
032 .getBaseUrlString()+"/kr/lookup.do?methodToCall=start&businessObjectClassName=org.kuali.rice.coreservice.impl.component.ComponentBo&docFormKey=88888888&returnLocation="+
033 AutomatedFunctionalTestUtils.PORTAL_URL+ AutomatedFunctionalTestUtils.HIDE_RETURN_LINK;
034
035 @Override
036 protected String getBookmarkUrl() {
037 return BOOKMARK_URL;
038 }
039
040 private void assertActionListRequestGroup(String userInGroup, String group, String namespace, String actionCode, String state) throws InterruptedException {
041 namespaceCode = namespace;
042 String docId = testCreateActionRequestGroup(group, namespace, actionCode);
043 impersonateUser(userInGroup);
044 assertActionList(docId, actionCode, state);
045 selectTopFrame();
046 }
047
048 private void assertActionListRequestPerson(String backdoorUser, String actionCode, String state) throws InterruptedException {
049 String docId = testCreateActionRequestPerson(backdoorUser, actionCode);
050 impersonateUser(backdoorUser);
051 assertActionList(docId, actionCode, state);
052 selectTopFrame();
053 }
054
055 protected String testCreateActionRequestGroup(String user, String namespace, String actionType) throws InterruptedException{
056 String docId = testCreateNew();
057 addAdHocRecipientsGroup(new String[]{user, actionType, namespace});
058 submitAndClose();
059 return docId;
060 }
061
062 /**
063 * Creates an Action Request in a users action list.
064 *
065 * Initiates a new maintenance document (Component BO) with added adHoc request to create an action request
066 * in a users action list for the document
067 * @param user
068 * @param actionType
069 *
070 * @return documentID of the newly initiated document to which the created action request applies.
071 */
072 protected String testCreateActionRequestPerson(String user, String actionType) throws InterruptedException {
073 String docId = testCreateNew();
074 addAdHocRecipientsPerson(new String[]{user, actionType});
075 submitAndClose();
076 return docId;
077 }
078
079 public void testActionListAcknowledgeGroup() throws Exception {
080 assertActionListRequestGroup("fran", "RecipeMasters", "KR-WKFLW", "K", "PROCESSED");
081 passed();
082 }
083
084 /**
085 * tests the Acknowledge ActionRequest.
086 * Creates an Acknowledge request for a user. Then performs the Acknowledge action.
087 * @throws Exception
088 */
089 public void testActionListAcknowledgePerson() throws Exception {
090 assertActionListRequestPerson("erin", "K", "PROCESSED");
091 passed();
092 }
093
094 public void testActionListApproveGroup() throws Exception {
095 assertActionListRequestGroup("fred", "RecipeMasters", "KR-WKFLW", "A", "ENROUTE");
096 passed();
097 }
098
099 /**
100 * tests the Approve ActionRequest.
101 * Creates an approve request for a user. Then performs the Approve action.
102 * @throws Exception
103 */
104 public void testActionListApprovePerson() throws Exception {
105 assertActionListRequestPerson("fred", "A", "ENROUTE");
106 passed();
107 }
108
109 public void testActionListCompleteGroup() throws Exception {
110 assertActionListRequestGroup("dev1", "Kuali Developers", "KUALI", "C", "ENROUTE");
111 passed();
112 }
113
114 /**
115 * tests the complete ActionRequest.
116 * Creates an complete request for a user. Then performs the Complete action.
117 * @throws Exception
118 */
119 public void testActionListCompletePerson() throws Exception {
120 assertActionListRequestPerson("fran", "C", "ENROUTE");
121 passed();
122 }
123
124 public void testActionListDisapproveGroup() throws Exception {
125 assertActionListRequestGroup("director", "ChickenRecipeMasters", "KR-WKFLW", "D", "ENROUTE");
126 passed();
127 }
128
129 /**
130 * tests the ActionRequest.
131 * Creates an approve request for a user. Then performs the Disapprove action.
132 * @throws Exception
133 */
134 public void testActionListDisapprovePerson() throws Exception {
135 assertActionListRequestPerson("fred", "D", "ENROUTE");
136 passed();
137 }
138
139 public void testActionListFyiGroup() throws Exception {
140 assertActionListRequestGroup("dev2", "Kuali Developers", "KUALI", "F", "FINAL");
141 passed();
142 }
143
144 /**
145 * tests the FYI ActionRequest.
146 * Creates an FYI request for a user. Then performs the FYI action.
147 * @throws Exception
148 */
149 public void testActionListFyiPerson() throws Exception {
150 assertActionListRequestPerson("eric", "F", "FINAL");
151 passed();
152 }
153 }