use of com.artezio.arttime.datamodel.Project in project ART-TIME by Artezio.
the class ProjectBean method changeRecordWithArrayValueToListValueInParticipations.
protected void changeRecordWithArrayValueToListValueInParticipations(Employee employee, List<Project> newParticipations) {
this.participations.remove(employee);
for (Project project : this.projects) {
if (project.isTeamMember(employee) && !newParticipations.contains(project)) {
project.removeTeamMember(employee);
} else if (!project.isTeamMember(employee) && newParticipations.contains(project)) {
project.addTeamMember(employee);
}
}
this.participations.put(employee, newParticipations);
}
use of com.artezio.arttime.datamodel.Project in project ART-TIME by Artezio.
the class ProjectConverterTest method testGetAsObject_ifFoundInRepository.
@Test
public void testGetAsObject_ifFoundInRepository() throws Exception {
setField(converter, "projectRepository", projectRepository);
Project project = new Project();
expect(projectRepository.findProject(1L)).andReturn(project);
replay(projectRepository);
Object actual = converter.getAsObject(facesContext, component, "1");
verify(projectRepository);
assertSame(project, actual);
}
use of com.artezio.arttime.datamodel.Project in project ART-TIME by Artezio.
the class EmployeeEffortsSpreadSheetTest method createProject.
private Project createProject(String code, List<HourType> hourTypes, List<Employee> employees) {
Project project = new Project();
project.setAccountableHours(hourTypes);
project.setCode(code);
project.getTeam().addAll(employees);
return project;
}
use of com.artezio.arttime.datamodel.Project in project ART-TIME by Artezio.
the class EmployeeEffortsSpreadSheetTest method testCalculateKeysOfTotals.
@Test
public void testCalculateKeysOfTotals() throws NoSuchFieldException {
Date date = new Date(2017, 1, 1);
Employee employee = new Employee("test");
Project project = new Project();
HourType hourType = new HourType("test");
List<Hours> hours = Collections.singletonList(new Hours(project, date, employee, hourType));
List<Integer> expected = Collections.singletonList(employee.hashCode() + project.hashCode() + hourType.hashCode() + 1237);
List<HoursSpreadSheetRow> hoursSpreadSheetRows = Collections.singletonList(new HoursSpreadSheetRow(project, employee, hourType, hours));
TotalsSpreadSheetRow totalRow = new TotalsSpreadSheetRow(project, hourType, hoursSpreadSheetRows);
totalRow.setEmployee(employee);
List<SpreadSheetRow> spreadSheetRows = Arrays.asList(new HeadSpreadSheetRow(employee), new HoursSpreadSheetRow(project, employee, hourType, hours), totalRow);
spreadSheet = new EmployeeEffortsSpreadSheet(hoursRepository, projectRepository, hourTypeRepository, employeeRepository, projectService, workTimeService, filter);
setField(spreadSheet, "rows", spreadSheetRows);
SpreadSheetRow spreadSheetRow = new HoursSpreadSheetRow(project, employee, hourType, hours);
List<Integer> actual = spreadSheet.calculateKeysOfTotalsRows(spreadSheetRow);
ListAssert.assertEquals(expected, actual);
}
use of com.artezio.arttime.datamodel.Project in project ART-TIME by Artezio.
the class EmployeeEffortsSpreadSheetTest method testBuildSpreadSheetRows.
@Test
public void testBuildSpreadSheetRows() throws ParseException, NoSuchFieldException {
Employee employee1 = filter.getEmployees().get(0);
Employee employee2 = filter.getEmployees().get(1);
Project project1 = filter.getProjects().get(0);
Project project2 = filter.getProjects().get(1);
HourType hourType1 = filter.getHourTypes().get(0);
HourType hourType2 = filter.getHourTypes().get(1);
spreadSheet = new EmployeeEffortsSpreadSheet(hoursRepository, projectRepository, hourTypeRepository, employeeRepository, projectService, workTimeService, filter);
setField(spreadSheet, "rows", new LinkedList<SpreadSheetRow>());
List<Hours> hours = getHours();
expect(hoursRepository.getHours(filter)).andReturn(hours);
Map<Project, List<Project>> subprojects = new HashMap<>();
expect(projectRepository.getSubprojectsMap(EasyMock.anyObject(List.class))).andReturn(subprojects).anyTimes();
expect(workTimeService.getEmployees(filter)).andReturn(Arrays.asList(employee1, employee2));
replay(hoursRepository, projectRepository, workTimeService);
List<SpreadSheetRow<?>> actual = spreadSheet.buildSpreadSheetRows(employee1);
verify(hoursRepository, projectRepository);
SpreadSheetRow<?> expected1 = new HeadSpreadSheetRow(employee1);
SpreadSheetRow<?> expected2 = createSpreadSheetRow(project1, employee1, hourType1, findHours(hours, project1, employee1, hourType1));
SpreadSheetRow<?> expected3 = createSpreadSheetRow(project1, employee1, hourType2, findHours(hours, project1, employee1, hourType2));
SpreadSheetRow<?> expected4 = createSpreadSheetRow(project2, employee1, hourType1, findHours(hours, project2, employee1, hourType1));
SpreadSheetRow<?> expected5 = createTotalsSpreadSheetRow(employee1, hourType1, Arrays.asList((HoursSpreadSheetRow) expected2, (HoursSpreadSheetRow) expected4));
SpreadSheetRow<?> expected6 = createTotalsSpreadSheetRow(employee1, hourType2, Arrays.asList((HoursSpreadSheetRow) expected3));
SpreadSheetRow<?> expected7 = new HeadSpreadSheetRow(employee2);
SpreadSheetRow<?> expected8 = createSpreadSheetRow(project2, employee2, hourType1, findHours(hours, project2, employee2, hourType1));
SpreadSheetRow<?> expected9 = createTotalsSpreadSheetRow(employee2, hourType1, Arrays.asList((HoursSpreadSheetRow) expected8));
assertEquals(9, actual.size());
assertEquals(expected1, actual.get(0));
assertEquals(expected2, actual.get(1));
assertEquals(expected3, actual.get(2));
assertEquals(expected4, actual.get(3));
assertEquals(expected5, actual.get(4));
assertEquals(expected6, actual.get(5));
assertEquals(expected7, actual.get(6));
assertEquals(expected8, actual.get(7));
assertEquals(expected9, actual.get(8));
}
Aggregations