Search in sources :

Example 1 with Project

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);
}
Also used : Project(com.artezio.arttime.datamodel.Project)

Example 2 with Project

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);
}
Also used : Project(com.artezio.arttime.datamodel.Project) Test(org.junit.Test)

Example 3 with Project

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;
}
Also used : Project(com.artezio.arttime.datamodel.Project)

Example 4 with 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);
}
Also used : HourType(com.artezio.arttime.datamodel.HourType) Hours(com.artezio.arttime.datamodel.Hours) Project(com.artezio.arttime.datamodel.Project) Employee(com.artezio.arttime.datamodel.Employee) Test(org.junit.Test)

Example 5 with Project

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));
}
Also used : HourType(com.artezio.arttime.datamodel.HourType) Hours(com.artezio.arttime.datamodel.Hours) Project(com.artezio.arttime.datamodel.Project) Employee(com.artezio.arttime.datamodel.Employee) Test(org.junit.Test)

Aggregations

Project (com.artezio.arttime.datamodel.Project)310 Test (org.junit.Test)278 Employee (com.artezio.arttime.datamodel.Employee)195 HourType (com.artezio.arttime.datamodel.HourType)119 Hours (com.artezio.arttime.datamodel.Hours)108 Date (java.util.Date)61 CalendarUtils.getOffsetDate (com.artezio.arttime.test.utils.CalendarUtils.getOffsetDate)56 Period (com.artezio.arttime.datamodel.Period)43 BigDecimal (java.math.BigDecimal)39 Filter (com.artezio.arttime.filter.Filter)33 TeamFilter (com.artezio.arttime.datamodel.TeamFilter)26 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)25 CalendarUtils.createPeriod (com.artezio.arttime.test.utils.CalendarUtils.createPeriod)21 ArrayList (java.util.ArrayList)18 Arrays.asList (java.util.Arrays.asList)18 ProjectRepository (com.artezio.arttime.repositories.ProjectRepository)17 List (java.util.List)17 HoursRepository (com.artezio.arttime.repositories.HoursRepository)13 HashMap (java.util.HashMap)13 Map (java.util.Map)11