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.krad.service; 017 018 import org.junit.Ignore; 019 import org.kuali.test.KRADTestCase; 020 021 022 /** 023 * Test case for InactivateableFromToService. Note on usage that the tests sets the activeAsOfDate so that the results 024 * will be consistent over time. However this is not necessary and the service will default to using the current date if 025 * not given. 026 * 027 * @see org.kuali.rice.krad.service.InactivateableFromToService 028 */ 029 /*@PerTestUnitTestData( 030 value = @UnitTestData( 031 order = {UnitTestData.Type.SQL_STATEMENTS, UnitTestData.Type.SQL_FILES}, 032 sqlStatements = { 033 @UnitTestSql("delete from trv_acct_use_rt_t") 034 }, 035 sqlFiles = { 036 @UnitTestFile(filename = "classpath:testAccountUseRate.sql", delimiter = ";") 037 } 038 ), 039 tearDown = @UnitTestData( 040 sqlStatements = { 041 @UnitTestSql("delete from trv_acct_use_rt_t") 042 } 043 ) 044 )*/ 045 @Ignore 046 public class InactivateableFromToServiceTest extends KRADTestCase { 047 048 049 // /** 050 // * Test finding active records 051 // * 052 // * @see InactivateableFromToService#findMatchingActive(Class, Map) 053 // */ 054 // @Test 055 // public void testFindMatchingActive() throws Exception { 056 // InactivateableFromToService inactivateableFromToService = KRADServiceLocatorInternal.getInactivateableFromToService(); 057 // 058 // Map fieldValues = new HashMap(); 059 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2010"); 060 // fieldValues.put("number", "a2"); 061 // 062 // List<InactivateableFromTo> results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class, 063 // fieldValues); 064 // assertEquals(2, results.size()); 065 // 066 // TravelAccountUseRate useRate = (TravelAccountUseRate) results.get(0); 067 // assertTrue("Incorrect active records returned, do not match expected ids", 068 // "2".equals(useRate.getId()) || "3".equals(useRate.getId())); 069 // 070 // useRate = (TravelAccountUseRate) results.get(1); 071 // assertTrue("Incorrect active records returned, do not match expected ids", 072 // "2".equals(useRate.getId()) || "3".equals(useRate.getId())); 073 // 074 // fieldValues = new HashMap(); 075 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2010"); 076 // fieldValues.put("number", "a1"); 077 // 078 // results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class, fieldValues); 079 // assertEquals(1, results.size()); 080 // 081 // useRate = (TravelAccountUseRate) results.get(0); 082 // assertTrue("Incorrect active record returned, does not match expected id", "1".equals(useRate.getId())); 083 // 084 // fieldValues = new HashMap(); 085 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "01/01/2010 01:31 PM"); 086 // fieldValues.put("number", "b1"); 087 // 088 // results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class, fieldValues); 089 // assertEquals(1, results.size()); 090 // 091 // useRate = (TravelAccountUseRate) results.get(0); 092 // assertTrue("Incorrect active record returned, does not match expected id", "9".equals(useRate.getId())); 093 // } 094 // 095 // /** 096 // * Test finding inactive records through LookupService 097 // */ 098 // @Test 099 // public void testFindMatchingActive_inactive() throws Exception { 100 // LookupService lookupService = KRADServiceLocatorWeb.getLookupService(); 101 // 102 // Map fieldValues = new HashMap(); 103 // fieldValues.put(KNSPropertyConstants.ACTIVE, "N"); 104 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2010"); 105 // fieldValues.put("number", "a2"); 106 // 107 // List<InactivateableFromTo> results = (List<InactivateableFromTo>) lookupService.findCollectionBySearchUnbounded(TravelAccountUseRate.class, 108 // fieldValues); 109 // assertEquals(1, results.size()); 110 // 111 // TravelAccountUseRate useRate = (TravelAccountUseRate) results.get(0); 112 // assertTrue("Incorrect inactive record returned, does not match expected id", 113 // "4".equals(useRate.getId())); 114 // 115 // fieldValues = new HashMap(); 116 // fieldValues.put(KNSPropertyConstants.ACTIVE, "N"); 117 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "07/01/2010"); 118 // fieldValues.put("number", "a3"); 119 // 120 // results = (List<InactivateableFromTo>) lookupService.findCollectionBySearchUnbounded(TravelAccountUseRate.class, fieldValues); 121 // assertEquals(1, results.size()); 122 // 123 // useRate = (TravelAccountUseRate) results.get(0); 124 // assertTrue("Incorrect inactive record returned, does not match expected id", "5".equals(useRate.getId())); 125 // } 126 // 127 // /** 128 // * Test query results when begin date is null 129 // * 130 // * @see InactivateableFromToService#findMatchingActive(Class, Map) 131 // */ 132 // @Test 133 // public void testFindMatchingActive_nullBeginDate() throws Exception { 134 // InactivateableFromToService inactivateableFromToService = KRADServiceLocatorInternal.getInactivateableFromToService(); 135 // 136 // Map fieldValues = new HashMap(); 137 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2010"); 138 // fieldValues.put("number", "a4"); 139 // 140 // List<InactivateableFromTo> results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class, 141 // fieldValues); 142 // assertEquals(1, results.size()); 143 // 144 // TravelAccountUseRate useRate = (TravelAccountUseRate) results.get(0); 145 // assertTrue("Incorrect inactive record returned, does not match expected id", "6".equals(useRate.getId())); 146 // 147 // LookupService lookupService = KRADServiceLocatorWeb.getLookupService(); 148 // 149 // fieldValues = new HashMap(); 150 // fieldValues.put(KNSPropertyConstants.ACTIVE, "N"); 151 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2010"); 152 // fieldValues.put("number", "a4"); 153 // 154 // results = (List<InactivateableFromTo>) lookupService.findCollectionBySearchUnbounded(TravelAccountUseRate.class, fieldValues); 155 // assertEquals(0, results.size()); 156 // } 157 // 158 // /** 159 // * Test query results when end date is null 160 // * 161 // * @see InactivateableFromToService#findMatchingActive(Class, Map) 162 // */ 163 // @Test 164 // public void testFindMatchingActive_nullEndDate() throws Exception { 165 // InactivateableFromToService inactivateableFromToService = KRADServiceLocatorInternal.getInactivateableFromToService(); 166 // 167 // Map fieldValues = new HashMap(); 168 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2030"); 169 // fieldValues.put("number", "a5"); 170 // 171 // List<InactivateableFromTo> results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class, 172 // fieldValues); 173 // assertEquals(1, results.size()); 174 // 175 // TravelAccountUseRate useRate = (TravelAccountUseRate) results.get(0); 176 // assertTrue("Incorrect active record returned, does not match expected id", "7".equals(useRate.getId())); 177 // } 178 // 179 // /** 180 // * Test query results when the begin and end date is null 181 // * 182 // * @see InactivateableFromToService#findMatchingActive(Class, Map) 183 // */ 184 // @Test 185 // public void testFindMatchingActive_nullBeginEndDate() throws Exception { 186 // InactivateableFromToService inactivateableFromToService = KRADServiceLocatorInternal.getInactivateableFromToService(); 187 // 188 // Map fieldValues = new HashMap(); 189 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2010"); 190 // fieldValues.put("number", "a6"); 191 // 192 // List<InactivateableFromTo> results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class, 193 // fieldValues); 194 // assertEquals(1, results.size()); 195 // 196 // TravelAccountUseRate useRate = (TravelAccountUseRate) results.get(0); 197 // assertTrue("Incorrect active record returned, does not match expected id", "8".equals(useRate.getId())); 198 // } 199 // 200 // /** 201 // * Test for the filterOutNonActive method 202 // * 203 // * @see InactivateableFromToService#filterOutNonActive(List) 204 // */ 205 // @Test 206 // public void testFilterOutNonActive() throws Exception { 207 // InactivateableFromToService inactivateableFromToService = KRADServiceLocatorInternal.getInactivateableFromToService(); 208 // 209 // List<InactivateableFromTo> filterList = new ArrayList<InactivateableFromTo>(); 210 // filterList.add(constructUseRate("1", "a1", "01/01/2010", "01/01/2011")); 211 // filterList.add(constructUseRate("2", "a1", "01/01/2012", "01/01/2013")); 212 // filterList.add(constructUseRate("3", "a2", "01/01/2009", "01/01/2010")); 213 // filterList.add(constructUseRate("4", "a3", "01/01/2010", "05/16/2010")); 214 // filterList.add(constructUseRate("5", "a4", null, "01/01/2011")); 215 // 216 // Date activeAsOfDate = KRADServiceLocator.getDateTimeService().convertToSqlDate("06/01/2010"); 217 // List<InactivateableFromTo> accessibleList = inactivateableFromToService.filterOutNonActive(filterList, 218 // activeAsOfDate); 219 // assertEquals(2, accessibleList.size()); 220 // 221 // TravelAccountUseRate useRate = (TravelAccountUseRate) accessibleList.get(0); 222 // assertTrue("Incorrect active records returned, do not match expected ids", "1".equals(useRate.getId()) || "5".equals(useRate.getId())); 223 // 224 // useRate = (TravelAccountUseRate) accessibleList.get(1); 225 // assertTrue("Incorrect active records returned, do not match expected ids", "1".equals(useRate.getId()) || "5".equals(useRate.getId())); 226 // } 227 // 228 // /** 229 // * Test finding current records through the findMatchingCurrent method 230 // * 231 // * @see InactivateableFromToService#findMatchingCurrent(Class, Map) 232 // */ 233 // @Test 234 // public void testFindMatchingCurrent() throws Exception { 235 // InactivateableFromToService inactivateableFromToService = KRADServiceLocatorInternal.getInactivateableFromToService(); 236 // 237 // Map fieldValues = new HashMap(); 238 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "06/01/2010"); 239 // fieldValues.put("number", "a2"); 240 // 241 // List<InactivateableFromTo> results = inactivateableFromToService.findMatchingCurrent(TravelAccountUseRate.class, 242 // fieldValues); 243 // assertEquals(1, results.size()); 244 // 245 // TravelAccountUseRate useRate = (TravelAccountUseRate) results.get(0); 246 // assertTrue("Incorrect current record returned, does not match expected id", "3".equals(useRate.getId())); 247 // } 248 // 249 // /** 250 // * Test for the filterOutNonCurrent method 251 // * 252 // * @see InactivateableFromToService#filterOutNonCurrent(List) 253 // */ 254 // @Test 255 // public void testFilterOutNonCurrent() throws Exception { 256 // InactivateableFromToService inactivateableFromToService = KRADServiceLocatorInternal.getInactivateableFromToService(); 257 // 258 // List<InactivateableFromTo> filterList = new ArrayList<InactivateableFromTo>(); 259 // filterList.add(constructUseRate("1", "a1", "01/01/2010", "01/01/2011")); 260 // filterList.add(constructUseRate("2", "a1", "01/16/2010", "01/01/2011")); 261 // filterList.add(constructUseRate("3", "a1", "01/01/2012", "01/01/2013")); 262 // filterList.add(constructUseRate("4", "a2", "01/01/2009", "01/01/2010")); 263 // filterList.add(constructUseRate("5", "a3", "01/01/2010", "05/16/2011")); 264 // filterList.add(constructUseRate("6", "a3", "06/01/2010", "05/16/2011")); 265 // 266 // Date activeAsOfDate = KRADServiceLocator.getDateTimeService().convertToSqlDate("06/10/2010"); 267 // List<InactivateableFromTo> accessibleList = inactivateableFromToService.filterOutNonCurrent(filterList, 268 // activeAsOfDate); 269 // assertEquals(2, accessibleList.size()); 270 // 271 // TravelAccountUseRate useRate = (TravelAccountUseRate) accessibleList.get(0); 272 // assertTrue("Incorrect curren records returned, do not match expected ids", 273 // "2".equals(useRate.getId()) || "6".equals(useRate.getId())); 274 // 275 // useRate = (TravelAccountUseRate) accessibleList.get(1); 276 // assertTrue("Incorrect curren records returned, do not match expected ids", 277 // "2".equals(useRate.getId()) || "6".equals(useRate.getId())); 278 // } 279 // 280 // protected TravelAccountUseRate constructUseRate(String id, String number, String fromDate, String toDate) 281 // throws Exception { 282 // TravelAccountUseRate useRate = new TravelAccountUseRate(); 283 // 284 // DateTimeService dateTimeService = KRADServiceLocator.getDateTimeService(); 285 // useRate.setId(id); 286 // useRate.setNumber(number); 287 // if (fromDate != null) { 288 // useRate.setActiveFromDate(new Timestamp(dateTimeService.convertToSqlDate(fromDate).getTime())); 289 // } 290 // if (toDate != null) { 291 // useRate.setActiveToDate(new Timestamp(dateTimeService.convertToSqlDate(toDate).getTime())); 292 // } 293 // 294 // return useRate; 295 // } 296 }