@Test public void should_add_locked_days_to_detailed_report() { DateTime dateTime = new DateTime(reportCriteria.getReportRange().getDateStart()); Interval interval = new Interval(dateTime, dateTime); provideNoAssignmentsWithoutBookings(); when(timesheetLockService.findLockedDatesInRange(any(Date.class), any(Date.class))) .thenReturn(WrapAsScala$.MODULE$.asScalaBuffer(Lists.newArrayList(interval))); FlatReportElement reportElement = new FlatReportElement(); reportElement.setDayDate(dateTime.toDate()); when(detailedReportDao.getHoursPerDay(any(DateRange.class))) .thenReturn(Arrays.asList(reportElement)); noFilteringOnUserOrProject(); ReportData reportData = detailedReportService.getDetailedReportData(reportCriteria); FlatReportElement flat = (FlatReportElement) reportData.getReportElements().get(0); assertTrue(flat.getLockableDate().isLocked()); verify(detailedReportDao).getHoursPerDay(any(DateRange.class)); verify(timesheetLockService).findLockedDatesInRange(any(Date.class), any(Date.class)); }
public static FlatReportElement buildFlatReportElement(ProjectAssignment assignment) { FlatReportElement element = new FlatReportElement(); element.setAssignmentId(assignment.getAssignmentId()); element.setRole(assignment.getRole()); Project project = assignment.getProject(); Customer customer = project.getCustomer(); element.setCustomerCode(customer.getCode()); element.setCustomerId(customer.getCustomerId()); element.setCustomerName(customer.getName()); element.setEmptyEntry(true); element.setProjectCode(project.getProjectCode()); element.setProjectId(project.getProjectId()); element.setProjectName(project.getName()); element.setRate(assignment.getHourlyRate()); User user = assignment.getUser(); element.setUserId(user.getUserId()); element.setUserFirstName(user.getFirstName()); element.setUserLastName(user.getLastName()); element.setDisplayOrder(1); return element; } }