/** * Updates a project with new information * @param restProjectId The id of the project that will be updated * @param updatedProject The updated version of the project * @return The updated version project */ @Override protected RestProject update(final String restProjectId, final RestProject updatedProject){ Preconditions.checkNotNull(restProjectId, "Project id be null"); Preconditions.checkNotNull(updatedProject, "Project cannot be null"); Preconditions.checkArgument(!updatedProject.getName().isEmpty(), "Invalid project name. Project name cannot be empty"); final RestProject projectWithName = repository.findRestProjectWithName(updatedProject.getName()); Preconditions.checkArgument(projectWithName == null || projectWithName.getId().equals(restProjectId), "Project name is already taken"); final RestProject project = find(restProjectId); project.setName(updatedProject.getName()); project.setDescription(updatedProject.getDescription()); return super.save(project); }
@Test public void testFindAll(){ final RestProject restProject = save(); final List<RestProject> restProjects = repository.findAll(); Assert.assertEquals(restProjects.size(), 1); Assert.assertEquals(restProjects.get(0).getId(), restProject.getId()); Assert.assertEquals(restProjects.get(0).getDescription(), restProject.getDescription()); Assert.assertEquals(restProjects.get(0).getName(), restProject.getName()); }
@Test public void testFindOne(){ final RestProject restProject = save(); final RestProject returnedRestEvent = repository.findOne(restProject.getId()); Assert.assertEquals(returnedRestEvent.getId(), restProject.getId()); Assert.assertEquals(returnedRestEvent.getDescription(), restProject.getDescription()); Assert.assertEquals(returnedRestEvent.getName(), restProject.getName()); }