@Test public void should_not_persist_for_locked_day() throws OverBudgetException { okStatus(); TimesheetCommentId commentId = new TimesheetCommentId(1, new Date()); TimesheetComment comment = new TimesheetComment(commentId, "comment"); Date s = baseDate.toDate(); DateTime end = baseDate.plusWeeks(1); Date e = end.toDate(); User user = UserObjectMother.createUser(); when(context.getBean(IPersistTimesheet.class)).thenReturn(persister); TimesheetEntry entry = new TimesheetEntry(); TimesheetEntryId id = new TimesheetEntryId(); id.setProjectAssignment(assignment); id.setEntryDate(baseDate.plusDays(2).toDate()); entry.setEntryId(id); entry.setHours(5f); newEntries.add(entry); withLock(new Interval(baseDate.plusDays(2), end));// cancelling out the just created entry persister.persistTimesheetWeek(newEntries, comment, new DateRange(s, e), user); verify(timesheetDAO, times(1)).persist((any(TimesheetEntry.class))); verify(timesheetDAO, never()).delete((any(TimesheetEntry.class))); verify(commentDao, times(1)).persist(any(TimesheetComment.class)); }
@Test public void should_process_column_with_embeddable() throws InstantiationException, IllegalAccessException { FieldMap fieldDefinitionMap = FieldMapFactory.buildFieldMapForEntity(TimesheetEntry.class); FieldDefinition fieldDef = fieldDefinitionMap.get("assignment_id"); TimesheetEntry timesheetEntry = TimesheetEntryObjectMother.createTimesheetEntry(1, new Date(), 5f); timesheetEntry.setEntryId(null); Map<Class<?>, Object> embeddables = Maps.newHashMap(); ProjectAssignment projectAssignment = ProjectAssignmentObjectMother.createProjectAssignment(1); fieldDef.process(timesheetEntry, embeddables, projectAssignment); assertEquals(projectAssignment, ((TimesheetEntryId) embeddables.get(TimesheetEntryId.class)).getProjectAssignment()); } }
@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)); }
idDel.setProjectAssignment(assignment); idDel.setEntryDate(dateC); entryDel.setEntryId(idDel); entryDel.setHours(7f); newEntries.add(entryDel); idDel.setProjectAssignment(assignment); idDel.setEntryDate(dateC); entryDel.setEntryId(idDel); entryDel.setHours(8f); existingEntries.add(entryDel);
public static TimesheetEntry createTimesheetEntry(int prjId, Date date, float hours) { TimesheetEntryId id = new TimesheetEntryId(); id.setEntryDate(date); id.setProjectAssignment(ProjectAssignmentObjectMother.createProjectAssignment(prjId, prjId, 1)); TimesheetEntry entry = new TimesheetEntry(); entry.setEntryId(id); entry.setHours(hours); return entry; }
public static TimesheetEntry createTimesheetEntry(User user, Date date, float hours) { TimesheetEntryId id = new TimesheetEntryId(); id.setEntryDate(date); ProjectAssignment projectAssignment = ProjectAssignmentObjectMother.createProjectAssignment(1, 1, 1); projectAssignment.setUser(user); id.setProjectAssignment(projectAssignment); TimesheetEntry entry = new TimesheetEntry(); entry.setEntryId(id); entry.setHours(hours); return entry; }
id.setProjectAssignment(assignment); id.setEntryDate(dateA); entry.setEntryId(id); entry.setHours(8f); newEntries.add(entry); idDel.setProjectAssignment(assignment); idDel.setEntryDate(dateB); entryDel.setEntryId(idDel); entryDel.setHours(null); newEntries.add(entryDel); id.setProjectAssignment(assignment); id.setEntryDate(dateA); entry.setEntryId(id); entry.setHours(5f); existingEntries.add(entry); idDel.setProjectAssignment(assignment); idDel.setEntryDate(dateB); entryDel.setEntryId(idDel); entryDel.setHours(5f); existingEntries.add(entryDel);