/** * Create a project assignment with default values (date assignment, no start/end date, active)s * * @param project * @param user * @return */ public static ProjectAssignment createProjectAssignment(Project project, User user) { ProjectAssignment assignment = new ProjectAssignment(); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_DATE)); assignment.setProject(project); assignment.setUser(user); assignment.setActive(true); return assignment; }
@Test public final void testGetAssignmentStatusDateOut() { ProjectAssignment assignment = ProjectAssignmentObjectMother.createProjectAssignment(1); ProjectAssignmentType type = new ProjectAssignmentType(); type.setAssignmentTypeId(EhourConstants.ASSIGNMENT_DATE); assignment.setAssignmentType(type); Calendar startCal = new GregorianCalendar(); startCal.add(Calendar.DAY_OF_YEAR, -5); assignment.setDateStart(startCal.getTime()); Date start = startCal.getTime(); Calendar endCal = new GregorianCalendar(); endCal.add(Calendar.DAY_OF_YEAR, -2); assignment.setDateEnd(endCal.getTime()); Date end = endCal.getTime(); when(timesheetDAO.getTimesheetEntriesBefore(assignment, start)) .thenReturn(new ArrayList<TimesheetEntry>()); List<TimesheetEntry> entry = new ArrayList<>(); entry.add(new TimesheetEntry()); when(timesheetDAO.getTimesheetEntriesAfter(assignment, end)) .thenReturn(entry); ProjectAssignmentStatus status = util.getAssignmentStatus(assignment); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.AFTER_DEADLINE)); assertEquals(1, status.getStatusses().size()); }
@Test public final void testGetAssignmentStatusDateIn() { ProjectAssignment assignment = ProjectAssignmentObjectMother.createProjectAssignment(1); ProjectAssignmentType type = new ProjectAssignmentType(); type.setAssignmentTypeId(EhourConstants.ASSIGNMENT_DATE); assignment.setAssignmentType(type); Calendar startCal = new GregorianCalendar(); startCal.add(Calendar.DAY_OF_YEAR, -5); Date startDate = startCal.getTime(); assignment.setDateStart(startDate); Calendar endCal = new GregorianCalendar(); endCal.add(Calendar.DAY_OF_YEAR, 2); Date endDate = endCal.getTime(); assignment.setDateEnd(endDate); when(timesheetDAO.getTimesheetEntriesBefore(assignment, startDate)) .thenReturn(new ArrayList<TimesheetEntry>()); when(timesheetDAO.getTimesheetEntriesAfter(assignment, endDate)) .thenReturn(new ArrayList<TimesheetEntry>()); ProjectAssignmentStatus status = util.getAssignmentStatus(assignment); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.RUNNING)); assertEquals(1, status.getStatusses().size()); }
public static ProjectAssignment createProjectAssignment(User user, Project project) { ProjectAssignment assignment = new ProjectAssignment(user, project); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_DATE)); assignment.setActive(true); assignment.setAssignmentId(1); return assignment; }
@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()); }
assignmentA = new ProjectAssignment(); assignmentA.setAssignmentId(1); assignmentA.setAssignmentType(new ProjectAssignmentType(0)); calA = new GregorianCalendar(); calA.add(Calendar.MONTH, -5); assignmentB.setAssignmentType(new ProjectAssignmentType(0)); calB = new GregorianCalendar(); calB.add(Calendar.MONTH, -2);
@Test public final void testGetAssignmentStatusFixed() { AssignmentAggregateReportElement pag = new AssignmentAggregateReportElement(); pag.setHours((double) 25); ProjectAssignment assignment = new ProjectAssignment(); ProjectAssignmentType type = new ProjectAssignmentType(); type.setAssignmentTypeId(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FIXED); assignment.setAssignmentType(type); assignment.setAllottedHours(250f); when(raDAO.getCumulatedHoursForAssignment(assignment)) .thenReturn(pag); ProjectAssignmentStatus status = util.getAssignmentStatus(assignment); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.IN_ALLOTTED)); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.RUNNING)); assertEquals(2, status.getStatusses().size()); }
@Test public final void testGetAssignmentStatusFixedOverAllotted() { AssignmentAggregateReportElement pag = new AssignmentAggregateReportElement(); pag.setHours((double) 260); ProjectAssignment assignment = new ProjectAssignment(); ProjectAssignmentType type = new ProjectAssignmentType(); type.setAssignmentTypeId(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FIXED); assignment.setAssignmentType(type); assignment.setAllottedHours(250f); when(raDAO.getCumulatedHoursForAssignment(assignment)) .thenReturn(pag); ProjectAssignmentStatus status = util.getAssignmentStatus(assignment); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.OVER_ALLOTTED)); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.RUNNING)); assertEquals(2, status.getStatusses().size()); }
@Test public void testGetProgressPercentageAllotted() { ProjectAssignment assignment = new ProjectAssignment(); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FIXED)); assignment.setAllottedHours(100f); AssignmentAggregateReportElement ele = new AssignmentAggregateReportElement(); ele.setHours(96f); ele.setProjectAssignment(assignment); assertEquals(96, ele.getProgressPercentage().get(), 0f); }
@Test public final void testGetAssignmentStatusFlex() { AssignmentAggregateReportElement pag = new AssignmentAggregateReportElement(); pag.setHours((double) 25); ProjectAssignment assignment = new ProjectAssignment(); ProjectAssignmentType type = new ProjectAssignmentType(); type.setAssignmentTypeId(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FLEX); assignment.setAssignmentType(type); assignment.setAllottedHours(250f); assignment.setAllowedOverrun(200f); when(raDAO.getCumulatedHoursForAssignment(assignment)) .thenReturn(pag); ProjectAssignmentStatus status = util.getAssignmentStatus(assignment); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.IN_ALLOTTED)); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.RUNNING)); assertEquals(2, status.getStatusses().size()); }
/** * Test method for {@link net.rrm.ehour.persistence.persistence.report.reports.element.AssignmentAggregateReportElement#getAvailableHours()}. */ @Test public void testGetAvailableHoursFixed() { ProjectAssignment assignment = new ProjectAssignment(); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FIXED)); assignment.setAllottedHours(100f); AssignmentAggregateReportElement ele = new AssignmentAggregateReportElement(); ele.setHours(96f); ele.setProjectAssignment(assignment); assertEquals(4, ele.getAvailableHours().get(), 0f); }
@Test public final void testGetAssignmentStatusFlexOverrun() { AssignmentAggregateReportElement pag = new AssignmentAggregateReportElement(); pag.setHours((double) 260); ProjectAssignment assignment = new ProjectAssignment(); ProjectAssignmentType type = new ProjectAssignmentType(); type.setAssignmentTypeId(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FLEX); assignment.setAssignmentType(type); assignment.setAllottedHours(250f); assignment.setAllowedOverrun(200f); when(raDAO.getCumulatedHoursForAssignment(assignment)) .thenReturn(pag); ProjectAssignmentStatus status = util.getAssignmentStatus(assignment); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.IN_OVERRUN)); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.RUNNING)); assertEquals(2, status.getStatusses().size()); }
@Test public final void testGetAssignmentStatusFlexOverOverrun() { AssignmentAggregateReportElement pag = new AssignmentAggregateReportElement(); pag.setHours((double) 560); ProjectAssignment assignment = new ProjectAssignment(); ProjectAssignmentType type = new ProjectAssignmentType(); type.setAssignmentTypeId(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FLEX); assignment.setAssignmentType(type); assignment.setAllottedHours(250f); assignment.setAllowedOverrun(200f); when(raDAO.getCumulatedHoursForAssignment(assignment)) .thenReturn(pag); ProjectAssignmentStatus status = util.getAssignmentStatus(assignment); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.OVER_OVERRUN)); assertTrue(status.getStatusses().contains(ProjectAssignmentStatus.Status.RUNNING)); assertEquals(2, status.getStatusses().size()); } }
/** * Test method for {@link net.rrm.ehour.persistence.persistence.report.reports.element.AssignmentAggregateReportElement#getAvailableHours()}. */ @Test public void testGetAvailableHoursFlex() { ProjectAssignment assignment = new ProjectAssignment(); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FLEX)); assignment.setAllottedHours(100f); assignment.setAllowedOverrun(40f); AssignmentAggregateReportElement ele = new AssignmentAggregateReportElement(); ele.setHours(113f); ele.setProjectAssignment(assignment); assertEquals(27, ele.getAvailableHours().get(), 0f); }
@Test public void testGetProgressPercentageDate() { ProjectAssignment assignment = new ProjectAssignment(); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_DATE)); LocalDate base = LocalDate.parse("2015-01-01"); DateTimeUtils.setCurrentMillisFixed(base.toDateTimeAtCurrentTime().getMillis()); assignment.setDateStart(base.minusDays(3).toDate()); assignment.setDateEnd(base.plusDays(3).toDate()); AssignmentAggregateReportElement ele = new AssignmentAggregateReportElement(); ele.setProjectAssignment(assignment); assertEquals(50, ele.getProgressPercentage().get(), 2f); }
assignment.setNotifyPm(true); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FLEX));
@Test public void shouldPersist() { UserDepartment org = UserDepartmentObjectMother.createUserDepartment(); User user = UserObjectMother.createUser(); user.setUserId(5); ProjectAssignment assignment = new ProjectAssignment(); assignment.setUser(user); assignment.setAssignmentId(1); assignment.setProject(new Project(1)); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_DATE)); Set<ProjectAssignment> assignments = Sets.newHashSet(assignment); user.setUserDepartment(org); user.setProjectAssignments(assignments); userDao.persist(user); assertNotNull(user.getUserId()); }
user.setUserId(userId); prjAsg.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_DATE));