001 /** 002 * Copyright 2005-2011 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 org.kuali.rice.kew.quicklinks; 017 018 import org.junit.Test; 019 import org.kuali.rice.core.api.util.KeyValue; 020 import org.kuali.rice.kew.quicklinks.service.QuickLinksService; 021 import org.kuali.rice.kew.service.KEWServiceLocator; 022 import org.kuali.rice.kew.test.KEWTestCase; 023 import org.kuali.rice.test.BaselineTestCase; 024 import org.kuali.rice.test.SQLDataLoader; 025 026 import java.util.List; 027 028 import static org.junit.Assert.*; 029 030 /** 031 * Test the QuickLinks Service 032 * 033 * @author Kuali Rice Team (rice.collab@kuali.org) 034 */ 035 @BaselineTestCase.BaselineMode(BaselineTestCase.Mode.NONE) 036 public class QuickLinksServiceTest extends KEWTestCase { 037 private static String principalId = "admin"; 038 private static String badPrincipalId = "joeshmoe"; 039 040 private QuickLinksService service; 041 042 @Override 043 protected void loadTestData() throws Exception { 044 new SQLDataLoader("classpath:org/kuali/rice/kew/quicklinks/actionItem.sql", ";").runSql(); 045 new SQLDataLoader("classpath:org/kuali/rice/kew/quicklinks/documentRoute.sql", ";").runSql(); 046 new SQLDataLoader("classpath:org/kuali/rice/kew/quicklinks/documentType.sql", ";").runSql(); 047 new SQLDataLoader("classpath:org/kuali/rice/kew/quicklinks/userOption.sql", ";").runSql(); 048 } 049 050 @Override 051 protected void setUpAfterDataLoad() throws Exception { 052 service = (QuickLinksService) KEWServiceLocator.getService(KEWServiceLocator.QUICK_LINKS_SERVICE); 053 } 054 055 @Test 056 public void testGetActionListStats() { 057 List<ActionListStats> actionListStats = service.getActionListStats(principalId); 058 assertNotNull("No collection returned", actionListStats); 059 assertTrue("No test data", actionListStats.size() > 0); 060 assertEquals("Wrong number of Action List Stats", 3, actionListStats.size()); 061 ActionListStats als = actionListStats.get(0); 062 assertEquals("Wrong count", 1, als.getCount()); 063 assertEquals("Wrong Type Label", "Add/modify EDEN workgroup", als.getDocumentTypeLabelText()); 064 assertEquals("Wrong Type name", "EDENSERVICE-DOCS.WKGRPREQ", als.getDocumentTypeName()); 065 als = actionListStats.get(2); 066 assertEquals("Wrong count", 4, als.getCount()); 067 assertEquals("Wrong Type Label", "Travel Request", als.getDocumentTypeLabelText()); 068 assertEquals("Wrong Type name", "TravelRequest", als.getDocumentTypeName()); 069 070 actionListStats = service.getActionListStats(badPrincipalId); 071 assertNotNull("No collection returned", actionListStats); 072 assertFalse("Found test data", actionListStats.size() > 0); 073 } 074 075 @Test 076 public void testGetWatchedDocuments() { 077 List<WatchedDocument> watchedDocuments = service.getWatchedDocuments(principalId); 078 assertNotNull("No collection returned", watchedDocuments); 079 assertTrue("No test data", watchedDocuments.size() > 0); 080 assertEquals("Wrong number of Watched Documents", 28, watchedDocuments.size()); 081 082 WatchedDocument wd = watchedDocuments.get(0); 083 assertEquals("Wrong header id", "2694", wd.getDocumentHeaderId()); 084 assertEquals("Wrong status code", "ENROUTE", wd.getDocumentStatusCode()); 085 assertEquals("Wrong document title", "Travel Doc 2 - esdf", wd.getDocumentTitle()); 086 087 wd = watchedDocuments.get(27); 088 assertEquals("Wrong header id", "2120", wd.getDocumentHeaderId()); 089 assertEquals("Wrong status code", "ENROUTE", wd.getDocumentStatusCode()); 090 assertEquals("Wrong document title", "Routing workgroup CreatinAGroup123", wd.getDocumentTitle()); 091 092 watchedDocuments = service.getWatchedDocuments(badPrincipalId); 093 assertNotNull("No collection returned", watchedDocuments); 094 assertFalse("Found test data", watchedDocuments.size() > 0); 095 } 096 097 @Test 098 public void testGetRecentSearches() { 099 List<KeyValue> recentSearches = service.getRecentSearches(principalId); 100 assertNotNull("No collection returned", recentSearches); 101 assertTrue("No test data", recentSearches.size() > 0); 102 assertEquals("Wrong number of Recent Searches", 5, recentSearches.size()); 103 104 KeyValue kv = recentSearches.get(0); 105 assertEquals("Wrong key", "DocSearch.LastSearch.Holding4", kv.getKey()); 106 assertEquals("Wrong value", "Created=12/22/2008..;", kv.getValue().trim()); 107 108 kv = recentSearches.get(4); 109 assertEquals("Wrong key", "DocSearch.LastSearch.Holding0", kv.getKey()); 110 assertEquals("Wrong value", "Created=11/04/2008..;", kv.getValue().trim()); 111 112 recentSearches = service.getRecentSearches(badPrincipalId); 113 assertNotNull("No collection returned", recentSearches); 114 assertFalse("Found test data", recentSearches.size() > 0); 115 } 116 117 @Test 118 public void testGetNamedSearches() { 119 List<KeyValue> namedSearches = service.getNamedSearches(principalId); 120 assertNotNull("No collection returned", namedSearches); 121 assertTrue("No test data", namedSearches.size() > 0); 122 assertEquals("Wrong number of Named Searches", 3, namedSearches.size()); 123 124 KeyValue kv = namedSearches.get(0); 125 assertEquals("Wrong key", "DocSearch.NamedSearch.FindAlumni", kv.getKey()); 126 assertEquals("Wrong value", "FindAlumni", kv.getValue()); 127 128 kv = namedSearches.get(2); 129 assertEquals("Wrong key", "DocSearch.NamedSearch.FindStudent", kv.getKey()); 130 assertEquals("Wrong value", "FindStudent", kv.getValue()); 131 132 namedSearches = service.getRecentSearches(badPrincipalId); 133 assertNotNull("No collection returned", namedSearches); 134 assertFalse("Found test data", namedSearches.size() > 0); 135 } 136 137 @Test 138 public void testGetInitiatedDocumentTypesList() { 139 List<InitiatedDocumentType> initiatedDocumentTypesList = service.getInitiatedDocumentTypesList(principalId); 140 assertNotNull("No collection returned", initiatedDocumentTypesList); 141 assertTrue("No test data", initiatedDocumentTypesList.size() > 0); 142 assertEquals("Wrong number of Document Types List", 8, initiatedDocumentTypesList.size()); 143 144 InitiatedDocumentType idt = initiatedDocumentTypesList.get(0); 145 assertEquals("Wrong Type Label Text", "Add/modify EDEN workgroup", idt.getDocumentTypeLabelText()); 146 assertEquals("Wrong Type Name", "EDENSERVICE-DOCS.WKGRPREQ", idt.getDocumentTypeName()); 147 148 idt = initiatedDocumentTypesList.get(7); 149 assertEquals("Wrong Type Label Text", "Travel Request", idt.getDocumentTypeLabelText()); 150 assertEquals("Wrong Type Name", "TravelRequest", idt.getDocumentTypeName()); 151 152 153 initiatedDocumentTypesList = service.getInitiatedDocumentTypesList(badPrincipalId); 154 assertNotNull("No collection returned", initiatedDocumentTypesList); 155 assertFalse("Found test data", initiatedDocumentTypesList.size() > 0); 156 } 157 }