01: package org.andromda.timetracker.service;
02:
03: import java.util.Formatter;
04:
05: import org.andromda.timetracker.ServiceLocator;
06: import org.andromda.timetracker.vo.TimecardSearchCriteriaVO;
07: import org.andromda.timetracker.vo.TimecardSummaryVO;
08: import org.apache.commons.logging.Log;
09: import org.apache.commons.logging.LogFactory;
10: import org.testng.annotations.Configuration;
11: import org.testng.annotations.Test;
12:
13: public class TimeTrackingServiceTest {
14: private static String TimecardHdrFormat = "%-13s %-13s %-10s %-11s";
15: private static String TimecardRowFormat = "%-13s %-13s %-10s %-11tD";
16:
17: private Log logger = LogFactory
18: .getLog(TimeTrackingServiceTest.class);
19: private TimeTrackingService timeTrackingService;
20:
21: /**
22: * Initialize test suite
23: */
24: @Configuration(beforeSuite=true)
25: public void initializeTestSuite() {
26:
27: // Initialize ServiceLocator
28: logger.info("Initializing ServiceLocator");
29: ServiceLocator locator = ServiceLocator.instance();
30: locator.init("testBeanRefFactory.xml", "beanRefFactory");
31:
32: // Initialize TimeTrackingService
33: logger.info("Initializing TimeTrackingService");
34: timeTrackingService = locator.getTimeTrackingService();
35: }
36:
37: @Test
38: public void testFindAllTimecards() {
39: logger.info("testFindAllTimecards:");
40: TimecardSearchCriteriaVO criteria = new TimecardSearchCriteriaVO();
41: TimecardSummaryVO[] timecards = timeTrackingService
42: .findTimecards(criteria);
43: logTimecards(timecards);
44: }
45:
46: @Test
47: public void testFindTimecardsForSubmitter() {
48: logger.info("testFindTimecardsForSubmitter:");
49: TimecardSearchCriteriaVO criteria = new TimecardSearchCriteriaVO();
50: criteria.setSubmitterId(new Long(1));
51: TimecardSummaryVO[] timecards = timeTrackingService
52: .findTimecards(criteria);
53: logTimecards(timecards);
54: }
55:
56: private void logTimecards(TimecardSummaryVO[] timecards) {
57:
58: Formatter formatter = new Formatter();
59: formatter.format(TimecardHdrFormat, "Submitter", "Approver",
60: "Status", "Start Date");
61: logger.info(formatter.toString());
62: for (int i = 0; i < timecards.length; i++) {
63: formatter = new Formatter();
64: formatter.format(TimecardRowFormat, timecards[i]
65: .getSubmitterName(),
66: timecards[i].getApproverName(), timecards[i]
67: .getStatus(), timecards[i].getStartDate());
68: logger.info(formatter.toString());
69: }
70: }
71: }
|