public static Set<Project> createProjects(int projectCount) { Set<Project> projects = Sets.newHashSet(); for (int i = 0; i < projectCount; i++) { projects.add(createProject(i)); } return projects; }
public static Project createProject(Integer id) { return createProject(id, CustomerObjectMother.createCustomer()); }
private List<Project> filterOnSingleProject(UserSelectedCriteria userSelectedCriteria) { List<User> users = Lists.newArrayList(); List<Project> projects = Lists.newArrayList(ProjectObjectMother.createProject(1)); UsersAndProjects usersAndProjects = new UsersAndProjects(users, projects); when(reportCriteriaService.criteriaToUsersAndProjects(userSelectedCriteria)).thenReturn(usersAndProjects); return projects; }
@Test public void shouldGetCumulatedHoursPerAssignmentForProjects() { List<Project> projects = Arrays.asList(ProjectObjectMother.createProject(1)); List<AssignmentAggregateReportElement> results = reportAggregatedDAO.getCumulatedHoursPerAssignmentForProjects(projects, OCT_1_TO_4); assertEquals(2, results.size()); }
@Test public void should_get_all_projects() { when(projectDao.findAll()).thenReturn(Lists.newArrayList(ProjectObjectMother.createProject(1))); List<Project> projects = projectService.getProjects(); assertEquals(1, projects.size()); }
@Test public void should_get_all_active_projects() { when(projectDao.findAllActive()).thenReturn(Lists.newArrayList(ProjectObjectMother.createProject(1))); List<Project> activeProjects = projectService.getActiveProjects(); assertEquals(1, activeProjects.size()); }
@Test public void should_assign_user_to_default_projects() { Project project = ProjectObjectMother.createProject(1); when(projectDao.findDefaultProjects()).thenReturn(Arrays.asList(project)); User user = UserObjectMother.createUser(); service.assignUserToDefaultProjects(user); verify(projectAssignmentDao).persist(any(ProjectAssignment.class)); }
@Test public void shouldGetCumulatedHoursPerAssignmentForUserProject() { List<User> users = Arrays.asList(UserObjectMother.createUser()); List<Project> projects = Arrays.asList(ProjectObjectMother.createProject(1)); List<AssignmentAggregateReportElement> results = reportAggregatedDAO.getCumulatedHoursPerAssignmentForUsers(users, projects); // test if collection is properly initialized AssignmentAggregateReportElement rep = results.get(0); assertEquals(38.7f, rep.getHours().floatValue(), 0.1); assertEquals(2, results.size()); }
@Test public void shouldGetCumulatedHoursPerAssignmentForUserProjectDate() { DateRange dateRange = OCT_1_TO_4; List<User> users = Arrays.asList(UserObjectMother.createUser()); List<Project> projects = Arrays.asList(ProjectObjectMother.createProject(1)); List<AssignmentAggregateReportElement> results = reportAggregatedDAO.getCumulatedHoursPerAssignmentForUsers(users, projects, dateRange); AssignmentAggregateReportElement rep = results.get(0); assertEquals(14f, rep.getHours().floatValue(), 0.1); assertEquals(2, results.size()); }
@Test public void should_get_project_on_id() throws ObjectNotFoundException { Project project = ProjectObjectMother.createProject(1); when(projectDao.findById(1)).thenReturn(project); assertEquals(project, projectService.getProject(1)); }
@Test public void should_find_projects_when_customer_is_provided() { Customer customer = CustomerObjectMother.createCustomer(); UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); List<Customer> customers = Lists.newArrayList(customer); userSelectedCriteria.setCustomers(customers); Project project = ProjectObjectMother.createProject(1); when(projectDao.findProjectForCustomers(customers, true)).thenReturn(Lists.newArrayList(project)); UsersAndProjects usersAndProjects = reportCriteriaService.criteriaToUsersAndProjects(userSelectedCriteria); assertThat(usersAndProjects.getProjects(), contains(project)); assertTrue("Users should be empty", usersAndProjects.getUsers().isEmpty()); }
@Test public void should_find_projects_when_project_is_provided() { Project project = ProjectObjectMother.createProject(1); UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); userSelectedCriteria.setProjects(Lists.newArrayList(project)); UsersAndProjects usersAndProjects = reportCriteriaService.criteriaToUsersAndProjects(userSelectedCriteria); assertThat(userSelectedCriteria.getProjects(), contains(project)); assertTrue("Users should be empty", usersAndProjects.getUsers().isEmpty()); }
@Test public void should_only_include_billable_without_customer_or_project_selection() { provideNoLocks(); provideNoAssignmentsWithoutBookings(); userSelectedCriteria.setOnlyBillableProjects(true); Project billableProject = ProjectObjectMother.createProject(1); billableProject.setBillable(true); Project notBillableProject = ProjectObjectMother.createProject(2); notBillableProject.setBillable(false); when(projectDao.findAllActive()).thenReturn(Arrays.asList(billableProject, notBillableProject)); List<User> users = Lists.newArrayList(); List<Project> projects = Lists.newArrayList(billableProject); UsersAndProjects usersAndProjects = new UsersAndProjects(users, projects); when(reportCriteriaService.criteriaToUsersAndProjects(userSelectedCriteria)).thenReturn(usersAndProjects); ArgumentCaptor<List> projectIdListCapture = ArgumentCaptor.forClass(List.class); when(detailedReportDao.getHoursPerDayForProjects(projectIdListCapture.capture(), any(DateRange.class))) .thenReturn(new ArrayList<FlatReportElement>()); detailedReportService.getDetailedReportData(reportCriteria); assertEquals(1, projectIdListCapture.getValue().size()); assertEquals(billableProject.getPK(), projectIdListCapture.getValue().get(0)); }
@Test public void should_find_only_billable_projects() { UserSelectedCriteria userSelectedCriteria = new UserSelectedCriteria(); Project billableProject = ProjectObjectMother.createProject(1); billableProject.setBillable(true); Project notBillableProject = ProjectObjectMother.createProject(2); notBillableProject.setBillable(false); when(projectDao.findAllActive()).thenReturn(Lists.newArrayList(billableProject, notBillableProject)); userSelectedCriteria.setOnlyBillableProjects(true); UsersAndProjects usersAndProjects = reportCriteriaService.criteriaToUsersAndProjects(userSelectedCriteria); assertEquals(1, usersAndProjects.getProjects().size()); assertThat(usersAndProjects.getProjects(), contains(billableProject)); assertTrue("Users should be empty", usersAndProjects.getUsers().isEmpty()); } }
@Test public void should_find_project_assignments_for_project_and_check_deletability() throws ObjectNotFoundException { Project project = ProjectObjectMother.createProject(1); ProjectAssignment deleteableAssignment = ProjectAssignmentObjectMother.createProjectAssignment(1); ProjectAssignment nondeleteableAssignment = ProjectAssignmentObjectMother.createProjectAssignment(2); when(projectAssignmentDAO.findAllProjectAssignmentsForProject(project)).thenReturn(Arrays.asList(deleteableAssignment, nondeleteableAssignment)); when(reportAggregatedDAO.getCumulatedHoursPerAssignmentForAssignments(Lists.newArrayList(deleteableAssignment.getPK(), nondeleteableAssignment.getPK()))) .thenReturn(Lists.newArrayList(new AssignmentAggregateReportElement(nondeleteableAssignment, 5))); List<ProjectAssignment> assignments = projectAssignmentService.getProjectAssignmentsAndCheckDeletability(project); assertTrue(assignments.get(0).isDeletable()); assertFalse(assignments.get(1).isDeletable()); } }
@Test public void should_create_project_and_assign_to_default_project() { Project project = ProjectObjectMother.createProject(1); User pm = UserObjectMother.createUser(); project.setProjectManager(pm); project.setDefaultProject(true); projectService.createProject(project); verify(projectDao).persist(project); verify(projectAssignmentManagementService).assignAllUsersToProject(project); } }
public static Customer createCustomer(int customerId) { Customer cust = new Customer(customerId); cust.setName(customerId + ""); cust.setActive(true); cust.setCode(customerId + ""); ProjectObjectMother.createProject(1, cust); return cust; }
@Test public void should_create_or_update_project() { Project project = ProjectObjectMother.createProject(1); User pm = UserObjectMother.createUser(); project.setProjectManager(pm); projectService.createProject(project); verify(projectDao).persist(project); verify(userService).validateProjectManagementRoles(pm.getPK()); }
@Test public void should_provide_assignments_without_bookings() { provideNoLocks(); noFilteringOnUserOrProject(); when(reportAggregatedDao.getAssignmentsWithoutBookings(reportCriteria.getReportRange())).thenReturn(Arrays.asList(ProjectAssignmentObjectMother.createProjectAssignment(1))); userSelectedCriteria.setShowZeroBookings(true); Project billableProject = ProjectObjectMother.createProject(1); billableProject.setBillable(true); Project notBillableProject = ProjectObjectMother.createProject(2); notBillableProject.setBillable(false); when(projectDao.findAllActive()).thenReturn(Arrays.asList(billableProject)); when(detailedReportDao.getHoursPerDay(reportCriteria.getReportRange())).thenReturn(Arrays.asList(createFlatReportElement())); ReportData reportData = detailedReportService.getDetailedReportData(reportCriteria); FlatReportElement element = (FlatReportElement) reportData.getReportElements().get(0); assertTrue(element.isEmptyEntry()); verify(detailedReportDao).getHoursPerDay(reportCriteria.getReportRange()); verify(reportAggregatedDao).getAssignmentsWithoutBookings(reportCriteria.getReportRange()); } }
@Test public void shouldPersist() { Customer customer = CustomerObjectMother.createCustomer(); customer.setCustomerId(10); customer.getProjects().clear(); Project project = ProjectObjectMother.createProject(null, customer); Project prj = projectDAO.persist(project); Assert.assertNotNull(prj.getProjectId()); }