View Javadoc

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 }