@Override public User findUser(Integer userId) { findUserCount++; return new User(userId); }
@Override public List<AssignmentAggregateReportElement> getHoursPerAssignmentInRange(Integer userId, DateRange dateRange) { List<AssignmentAggregateReportElement> assignmentAggregateReportElements; List<User> users = new ArrayList<>(); users.add(new User(userId)); assignmentAggregateReportElements = reportAggregatedDAO.getCumulatedHoursPerAssignmentForUsers(users, dateRange); return assignmentAggregateReportElements; }
@Test public void shouldFindActiveProjectsWhereUserIsPM() { List<Project> res = projectDAO.findActiveProjectsWhereUserIsPM(new User(1)); assertEquals(10, res.iterator().next().getPK().intValue()); }
@Test public void shouldFindProjectAssignmentsForUser() { List<ProjectAssignment> pas = projectAssignmentDAO.findAllProjectAssignmentsForUser(new User(1)); assertEquals(9, pas.size()); }
@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_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 shouldUpdatePassword() throws ObjectNotUniqueException { User user = new User(1); user.setPassword("aa"); user.setUsername("user"); when(userDAO.findByUsername("user")).thenReturn(user); when(userDAO.persist(any(User.class))).thenReturn(user); userService.changePassword("user", "pwd"); assertFalse(user.getPassword().equals("pwd")); }
@Test public void shouldChangeUsername() throws ObjectNotUniqueException { User user = UserObjectMother.createUser(); User persistedUser = new User(); when(userDAO.findByUsername(user.getUsername())).thenReturn(null); when(userDAO.findById(user.getUserId())).thenReturn(persistedUser); when(userDAO.persist(persistedUser)).thenReturn(persistedUser); userService.persistEditedUser(user); verify(userDAO).persist(persistedUser); } }
@Test public void should_get_timesheet_entries() { Date da = new Date(2006 - 1900, Calendar.DECEMBER, 31); Date db = new Date(2007 - 1900, Calendar.JANUARY, 6); DateRange range = new DateRange(da, db); DateRange rangeB = new DateRange(new Date(2006 - 1900, Calendar.DECEMBER, 31), new Date(2007 - 1900, Calendar.JANUARY, 6)); when(timesheetDAO.getTimesheetEntriesInRange(1, range)).thenReturn(new ArrayList<TimesheetEntry>()); when(timesheetCommentDAO.findById(new TimesheetCommentId(1, range.getDateStart()))).thenReturn(new TimesheetComment()); when(projectAssignmentService.getProjectAssignmentsForUser(1, rangeB)).thenReturn(new ArrayList<ProjectAssignment>()); when(config.getFirstDayOfWeek()).thenReturn(1); when(timesheetLockService.findLockedDatesInRange(any(Date.class), any(Date.class), any(User.class))).thenReturn(new Vector<Interval>(0, 0, 1)); timesheetService.getWeekOverview(new User(1), new GregorianCalendar(2007, Calendar.JANUARY, 1)); verify(timesheetDAO).getTimesheetEntriesInRange(1, range); verify(timesheetCommentDAO).findById(new TimesheetCommentId(1, range.getDateStart())); verify(projectAssignmentService).getProjectAssignmentsForUser(1, rangeB); verify(config).getFirstDayOfWeek(); verify(timesheetLockService).findLockedDatesInRange(any(Date.class), any(Date.class), any(User.class)); } }
@Test public void shouldGetMinMaxDateTimesheetEntryForUser() { DateRange range = reportAggregatedDAO.getMinMaxDateTimesheetEntry(new User(1)); Date endDate = new Date(OCT_2_2006_EOF.getTime() + 999); assertEquals(OCT_2_2006, range.getDateStart()); assertEquals(endDate, range.getDateEnd()); }
@Test public void shouldGetCumulatedHoursPerAssignmentForUser() { List<User> users = Arrays.asList(UserObjectMother.createUser(), new User(2)); List<AssignmentAggregateReportElement> results = reportAggregatedDAO.getCumulatedHoursPerAssignmentForUsers(users); // test if collection is properly initialized AssignmentAggregateReportElement rep = results.get(0); assertEquals("eHour", rep.getProjectAssignment().getProject().getName()); assertEquals(38.7f, rep.getHours().floatValue(), 0.1); assertEquals(5, results.size()); }
@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 testAddAndcheckProjectManagementRoles() { User user = new User(1); user.setPassword("aa"); user.setSalt(2); user.setUsername("user"); when(userDAO.findById(1)) .thenReturn(user); when(userDAO.persist(user)) .thenReturn(user); userDAO.deletePmWithoutProject(); userService.validateProjectManagementRoles(1); assertEquals("aa", user.getPassword()); }
@Test public void shouldPersist() { Calendar cal = new GregorianCalendar(); cal.add(Calendar.MONTH, 1); ProjectAssignment assignment = ProjectAssignmentObjectMother.createProjectAssignment(new User(5), new Project(1)); assignment.setDateStart(new Date()); assignment.setDateEnd(cal.getTime()); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_DATE)); assignment.setAssignmentId(25); projectAssignmentDAO.persist(assignment); assertNotNull(assignment.getAssignmentId()); }
@Test public void should_get_timesheet_overview() throws Exception { List<TimesheetEntry> daoResults = new ArrayList<>(); List<AssignmentAggregateReportElement> reportResults = new ArrayList<>(); Calendar cal = new GregorianCalendar(); TimesheetEntry entryA, entryB; TimesheetEntryId idA, idB; idA = new TimesheetEntryId(new Date(2006 - 1900, Calendar.OCTOBER, 2), null); entryA = new TimesheetEntry(); entryA.setEntryId(idA); entryA.setHours((float) 5); daoResults.add(entryA); idB = new TimesheetEntryId(new Date(2006 - 1900, Calendar.OCTOBER, 6), null); entryB = new TimesheetEntry(); entryB.setEntryId(idB); entryB.setHours((float) 3); daoResults.add(entryB); AssignmentAggregateReportElement agg = new AssignmentAggregateReportElement(); ProjectAssignment pa = ProjectAssignmentObjectMother.createProjectAssignment(0); agg.setProjectAssignment(pa); reportResults.add(agg); when(timesheetDAO.getTimesheetEntriesInRange(1, DateUtil.calendarToMonthRange(cal))).thenReturn(daoResults); when(aggregateReportService.getHoursPerAssignmentInRange(1, DateUtil.calendarToMonthRange(cal))).thenReturn(reportResults); timesheetService.getTimesheetOverview(new User(1), cal); verify(timesheetDAO).getTimesheetEntriesInRange(1, DateUtil.calendarToMonthRange(cal)); verify(aggregateReportService).getHoursPerAssignmentInRange(1, DateUtil.calendarToMonthRange(cal)); }
public static User createUser(UserDepartment department) { User user = new User(); user.setUserId(1); user.setActive(true); user.setEmail("thies@te-con.nl"); user.setUsername("testmetoo"); user.setFirstName("Dummy"); user.setLastName("TestUser"); user.setPassword("abc"); user.addUserDepartment(department); Set<UserRole> userRoles = new HashSet<>(); userRoles.add(UserRole.ADMIN); user.setUserRoles(userRoles); return user; }
public static User createUser(String username, UserDepartment department) { User user = new User(); user.setUserId(1); user.setActive(true); user.setEmail("thies@te-con.nl"); user.setUsername(username); user.setFirstName("Dummy"); user.setLastName("TestUser"); user.setPassword("abc"); user.addUserDepartment(department); Set<UserRole> userRoles = new HashSet<>(); userRoles.add(UserRole.ADMIN); user.setUserRoles(userRoles); return user; }
UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); User projectManager = new User(2); userSelectedCriteria.setReportTypeToPM(projectManager);
user = new User("thies", "pwd");