1 /**
2 * Copyright 2005-2011 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl2.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.kuali.rice.krad.service;
17
18 import org.junit.Ignore;
19 import org.kuali.test.KRADTestCase;
20
21
22 /**
23 * Test case for InactivateableFromToService. Note on usage that the tests sets the activeAsOfDate so that the results
24 * will be consistent over time. However this is not necessary and the service will default to using the current date if
25 * not given.
26 *
27 * @see org.kuali.rice.krad.service.InactivateableFromToService
28 */
29 /*@PerTestUnitTestData(
30 value = @UnitTestData(
31 order = {UnitTestData.Type.SQL_STATEMENTS, UnitTestData.Type.SQL_FILES},
32 sqlStatements = {
33 @UnitTestSql("delete from trv_acct_use_rt_t")
34 },
35 sqlFiles = {
36 @UnitTestFile(filename = "classpath:testAccountUseRate.sql", delimiter = ";")
37 }
38 ),
39 tearDown = @UnitTestData(
40 sqlStatements = {
41 @UnitTestSql("delete from trv_acct_use_rt_t")
42 }
43 )
44 )*/
45 @Ignore
46 public class InactivateableFromToServiceTest extends KRADTestCase {
47
48
49 // /**
50 // * Test finding active records
51 // *
52 // * @see InactivateableFromToService#findMatchingActive(Class, Map)
53 // */
54 // @Test
55 // public void testFindMatchingActive() throws Exception {
56 // InactivateableFromToService inactivateableFromToService = KRADServiceLocatorInternal.getInactivateableFromToService();
57 //
58 // Map fieldValues = new HashMap();
59 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2010");
60 // fieldValues.put("number", "a2");
61 //
62 // List<InactivateableFromTo> results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class,
63 // fieldValues);
64 // assertEquals(2, results.size());
65 //
66 // TravelAccountUseRate useRate = (TravelAccountUseRate) results.get(0);
67 // assertTrue("Incorrect active records returned, do not match expected ids",
68 // "2".equals(useRate.getId()) || "3".equals(useRate.getId()));
69 //
70 // useRate = (TravelAccountUseRate) results.get(1);
71 // assertTrue("Incorrect active records returned, do not match expected ids",
72 // "2".equals(useRate.getId()) || "3".equals(useRate.getId()));
73 //
74 // fieldValues = new HashMap();
75 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "04/01/2010");
76 // fieldValues.put("number", "a1");
77 //
78 // results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class, fieldValues);
79 // assertEquals(1, results.size());
80 //
81 // useRate = (TravelAccountUseRate) results.get(0);
82 // assertTrue("Incorrect active record returned, does not match expected id", "1".equals(useRate.getId()));
83 //
84 // fieldValues = new HashMap();
85 // fieldValues.put(KNSPropertyConstants.ACTIVE_AS_OF_DATE, "01/01/2010 01:31 PM");
86 // fieldValues.put("number", "b1");
87 //
88 // results = inactivateableFromToService.findMatchingActive(TravelAccountUseRate.class, fieldValues);
89 // assertEquals(1, results.size());
90 //
91 // useRate = (TravelAccountUseRate) results.get(0);
92 // assertTrue("Incorrect active record returned, does not match expected id", "9".equals(useRate.getId()));
93 // }
94 //
95 // /**
96 // * Test finding inactive records through LookupService
97 // */
98 // @Test
99 // 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 }