@Test public void should_create_global_report() { DateRange dateRange = new DateRange(); UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); userSelectedCriteria.setReportRange(dateRange); ReportCriteria reportCriteria = new ReportCriteria(userSelectedCriteria); List<AssignmentAggregateReportElement> pags = createAssignmentAggregateReportElements(); when(reportAggregatedDao.getCumulatedHoursPerAssignment(any(DateRange.class))).thenReturn(pags); when(reportCriteriaService.criteriaToUsersAndProjects(userSelectedCriteria)).thenReturn(new UsersAndProjects()); ReportData data = aggregateReportService.getAggregateReportData(reportCriteria); assertEquals(3, data.getReportElements().size()); }
@Test public void should_create_report_for_specific_project() { DateRange dateRange = new DateRange(); UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); userSelectedCriteria.setReportRange(dateRange); ReportCriteria reportCriteria = new ReportCriteria(userSelectedCriteria); List<Project> projects = filterOnSingleProject(userSelectedCriteria); List<AssignmentAggregateReportElement> pags = createAssignmentAggregateReportElements(); when(reportAggregatedDao.getCumulatedHoursPerAssignmentForProjects(eq(projects), any(DateRange.class))).thenReturn(pags); ReportData data = aggregateReportService.getAggregateReportData(reportCriteria); assertEquals(3, data.getReportElements().size()); }
@Test public void should_create_report_for_single_user() { DateRange dateRange = new DateRange(); UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); userSelectedCriteria.setReportRange(dateRange); List<User> users = filterOnSingleUser(userSelectedCriteria); userSelectedCriteria.setUsers(users); ReportCriteria criteria = new ReportCriteria(userSelectedCriteria); List<AssignmentAggregateReportElement> pags = createAssignmentAggregateReportElements(); when(reportAggregatedDao.getCumulatedHoursPerAssignmentForUsers(eq(users), any(DateRange.class))).thenReturn(pags); ReportData data = aggregateReportService.getAggregateReportData(criteria); assertEquals(3, data.getReportElements().size()); }
userSelectedCriteria.setReportRange(dateRange);
/** * Get report range, use the available criteria if the user didn't supply any (yet) */ public DateRange getReportRange() { DateRange reportRange = userSelectedCriteria.getReportRange(); if (reportRange.getDateStart() == null || userSelectedCriteria.isInfiniteStartDate()) { if (!isEmptyAvailableReportRange() && availableCriteria.getReportRange().getDateStart() != null) { reportRange.setDateStart(availableCriteria.getReportRange().getDateStart()); } } if (reportRange.getDateEnd() == null || userSelectedCriteria.isInfiniteEndDate()) { if (!isEmptyAvailableReportRange() && availableCriteria.getReportRange().getDateEnd() != null) { reportRange.setDateEnd(availableCriteria.getReportRange().getDateEnd()); } } // if still nothing is specified, default to the current month if (reportRange.isEmpty()) { reportRange = DateUtil.calendarToMonthRange(new GregorianCalendar()); } userSelectedCriteria.setReportRange(reportRange); return reportRange; }