use of com.artezio.arttime.datamodel.Employee in project ART-TIME by Artezio.
the class HoursRepositoryTest method testGetActualHours_ifHoursForFinishPeriod.
@Test
public void testGetActualHours_ifHoursForFinishPeriod() throws NoSuchFieldException {
Date start = new Date();
Date finish = getOffsetDate(2);
Period period = new Period(start, finish);
Employee employee = new Employee("employee");
Project project = new Project();
HourType actualType = new HourType("actual type");
actualType.setActualTime(true);
BigDecimal quantity = new BigDecimal(8);
Hours hours = createHours(project, employee, finish, actualType, quantity);
entityManager.persist(employee);
entityManager.persist(project);
entityManager.persist(actualType);
entityManager.persist(hours);
List<Hours> actuals = hoursRepository.getActualHours(Collections.singletonList(employee), period, false);
assertEquals(Collections.singletonList(hours), actuals);
}
use of com.artezio.arttime.datamodel.Employee in project ART-TIME by Artezio.
the class HoursRepositoryTest method testGetActualHoursLists.
@Test
public void testGetActualHoursLists() {
Date start = new Date();
Date finish = getOffsetDate(2);
Period period = new Period(start, finish);
Employee employee1 = new Employee("employee1");
Employee employee2 = new Employee("employee2");
Employee employee3 = new Employee("employee3");
Project project = new Project();
HourType actualType = new HourType("actual type");
actualType.setActualTime(true);
BigDecimal quantity = new BigDecimal(8);
Hours hours1 = createHours(project, employee1, getOffsetDate(1), actualType, quantity);
Hours hours2 = createHours(project, employee1, getOffsetDate(2), actualType, quantity);
Hours hours3 = createHours(project, employee2, getOffsetDate(0), actualType, quantity);
hours1.setApproved(true);
hours2.setApproved(false);
hours3.setApproved(true);
entityManager.persist(employee1);
entityManager.persist(employee2);
entityManager.persist(employee3);
entityManager.persist(project);
entityManager.persist(actualType);
entityManager.persist(hours1);
entityManager.persist(hours2);
entityManager.persist(hours3);
List<Employee> employees = asList(employee1, employee2, employee3);
Map<Employee, List<Hours>> actualHours = hoursRepository.getActualHoursLists(employees, period, false);
Map<Employee, List<Hours>> approvedActualHours = hoursRepository.getActualHoursLists(employees, period, true);
ListAssert.assertEquals(asList(hours1, hours2), actualHours.get(employee1));
ListAssert.assertEquals(Collections.singletonList(hours3), actualHours.get(employee2));
assertTrue(actualHours.get(employee3).isEmpty());
ListAssert.assertEquals(Collections.singletonList(hours1), approvedActualHours.get(employee1));
ListAssert.assertEquals(Collections.singletonList(hours3), approvedActualHours.get(employee2));
assertTrue(approvedActualHours.get(employee3).isEmpty());
}
use of com.artezio.arttime.datamodel.Employee in project ART-TIME by Artezio.
the class HoursRepositoryTest method testFindHours_whenNoSuchHoursExist_expectNull.
@Test
public void testFindHours_whenNoSuchHoursExist_expectNull() throws Exception {
Employee employee = new Employee("employ");
Project project = new Project();
project.setCode("SomeCode");
HourType hourType = new HourType();
Date date = getOffsetDate(1);
Hours persisted = new Hours(project, date, employee, hourType);
entityManager.persist(project);
entityManager.persist(employee);
entityManager.persist(hourType);
entityManager.persist(persisted);
Hours actual = hoursRepository.findHours("Invalid name", project.getCode() + "XXX", hourType.getId() - 1, date);
assertNull(actual);
}
use of com.artezio.arttime.datamodel.Employee in project ART-TIME by Artezio.
the class HoursRepositoryTest method testGetActualHours_unexpectedHourType.
@Test
public void testGetActualHours_unexpectedHourType() throws NoSuchFieldException {
Date start = new Date();
Date finish = getOffsetDate(2);
Period period = new Period(start, finish);
Employee employee = new Employee("employee");
Project project = new Project();
HourType actualType = new HourType("actual type");
actualType.setActualTime(true);
HourType unexpectedType = new HourType("type");
actualType.setActualTime(false);
BigDecimal quantity = new BigDecimal(8);
Hours hours = createHours(project, employee, getOffsetDate(1), unexpectedType, quantity);
entityManager.persist(employee);
entityManager.persist(project);
entityManager.persist(actualType);
entityManager.persist(unexpectedType);
entityManager.persist(hours);
List<Hours> actuals = hoursRepository.getActualHours(Collections.singletonList(employee), period, false);
assertTrue(actuals.isEmpty());
}
use of com.artezio.arttime.datamodel.Employee in project ART-TIME by Artezio.
the class HoursRepositoryTest method testGetActualHours.
@Test
public void testGetActualHours() throws NoSuchFieldException {
Date start = new Date();
Date finish = getOffsetDate(2);
Period period = new Period(start, finish);
Employee employee1 = new Employee("employee1");
Employee employee2 = new Employee("employee2");
Project project = new Project();
HourType actualType = new HourType("actual type");
actualType.setActualTime(true);
BigDecimal quantity = new BigDecimal(8);
Hours hours1 = createHours(project, employee1, getOffsetDate(1), actualType, quantity);
Hours hours2 = createHours(project, employee1, getOffsetDate(2), actualType, quantity);
Hours hours3 = createHours(project, employee2, getOffsetDate(0), actualType, quantity);
hours1.setApproved(true);
hours2.setApproved(false);
hours3.setApproved(true);
entityManager.persist(employee1);
entityManager.persist(employee2);
entityManager.persist(project);
entityManager.persist(actualType);
entityManager.persist(hours1);
entityManager.persist(hours2);
entityManager.persist(hours3);
List<Employee> employees = asList(employee1, employee2);
List<Hours> actualHours = hoursRepository.getActualHours(employees, period, false);
List<Hours> approvedActualHours = hoursRepository.getActualHours(employees, period, true);
ListAssert.assertEquals(asList(hours1, hours2, hours3), actualHours);
ListAssert.assertEquals(asList(hours1, hours3), approvedActualHours);
}
Aggregations