@Test public void should_sync_criteria_for_global_for_all_customers() { UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); userSelectedCriteria.setSelectedReportType(UserSelectedCriteria.ReportType.REPORT); userSelectedCriteria.setUsers(Arrays.asList(new User(1))); Tuple2<List<Customer>, List<Project>> apply = new Tuple2<List<Customer>, List<Project>>(Lists.<Customer>newArrayList(), Lists.<Project>newArrayList()); when(customerAndProjectCriteriaFilter.getAvailableCustomers(userSelectedCriteria)).thenReturn(apply); ReportCriteria reportCriteria = new ReportCriteria(userSelectedCriteria); reportCriteriaService.syncUserReportCriteria(reportCriteria, ReportCriteriaUpdateType.UPDATE_CUSTOMERS_AND_PROJECTS); verify(customerAndProjectCriteriaFilter).getAvailableCustomers(userSelectedCriteria); }
@Test public void should_sync_criteria_for_global_for_all_users() { UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); userSelectedCriteria.setSelectedReportType(UserSelectedCriteria.ReportType.REPORT); userSelectedCriteria.setUsers(Arrays.asList(new User(1))); ReportCriteria reportCriteria = new ReportCriteria(userSelectedCriteria); Tuple2<List<UserDepartment>, List<User>> apply = new Tuple2<List<UserDepartment>, List<User>>(Lists.<UserDepartment>newArrayList(), Lists.<User>newArrayList()); when(userAndDepartmentCriteriaFilter.getAvailableUsers(userSelectedCriteria)).thenReturn(apply); reportCriteriaService.syncUserReportCriteria(reportCriteria, ReportCriteriaUpdateType.UPDATE_USERS_AND_DEPTS); verify(userAndDepartmentCriteriaFilter).getAvailableUsers(userSelectedCriteria); }
@Test public void should_return_single_user_when_its_provided() { User user = UserObjectMother.createUser(); UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); userSelectedCriteria.setUsers(Lists.newArrayList(user)); UsersAndProjects usersAndProjects = reportCriteriaService.criteriaToUsersAndProjects(userSelectedCriteria); assertThat(userSelectedCriteria.getUsers(), contains(user)); assertTrue("Projects should be empty", usersAndProjects.getProjects().isEmpty()); }
@Test public void should_sync_criteria_for_single_user() { UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); userSelectedCriteria.setSelectedReportType(UserSelectedCriteria.ReportType.INDIVIDUAL_USER); userSelectedCriteria.setUsers(Arrays.asList(new User(1))); ReportCriteria reportCriteria = new ReportCriteria(userSelectedCriteria); reportCriteriaService.syncUserReportCriteria(reportCriteria, ReportCriteriaUpdateType.UPDATE_ALL); verify(individualUserCriteriaSync).syncCriteriaForIndividualUser(reportCriteria); }
@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()); }