#101 project tests
This commit is contained in:
parent
9388302a47
commit
a7b48e1534
@ -90,9 +90,13 @@ public class ProjectService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void delete(Integer projectId) throws IOException {
|
public boolean delete(Integer projectId) throws IOException {
|
||||||
|
if (projectRepository.exists(projectId)) {
|
||||||
Project project = projectRepository.findOne(projectId);
|
Project project = projectRepository.findOne(projectId);
|
||||||
projectRepository.delete(project);
|
projectRepository.delete(project);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Project copyFromDto(Project project, ProjectDto projectDto) throws IOException {
|
private Project copyFromDto(Project project, ProjectDto projectDto) throws IOException {
|
||||||
@ -122,11 +126,12 @@ public class ProjectService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeDeadline(ProjectDto projectDto, Integer deadlineId) {
|
public ProjectDto removeDeadline(ProjectDto projectDto, Integer deadlineId) {
|
||||||
if (deadlineId != null) {
|
if (deadlineId != null) {
|
||||||
projectDto.getRemovedDeadlineIds().add(deadlineId);
|
projectDto.getRemovedDeadlineIds().add(deadlineId);
|
||||||
}
|
}
|
||||||
projectDto.getDeadlines().remove((int) deadlineId);
|
projectDto.getDeadlines().remove((int) deadlineId);
|
||||||
|
return projectDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Project findById(Integer id) {
|
public Project findById(Integer id) {
|
||||||
|
@ -1 +1,148 @@
|
|||||||
package ru.ulstu.project.service;
|
package ru.ulstu.project.service;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.runners.MockitoJUnitRunner;
|
||||||
|
import ru.ulstu.deadline.model.Deadline;
|
||||||
|
import ru.ulstu.deadline.service.DeadlineService;
|
||||||
|
import ru.ulstu.file.model.FileData;
|
||||||
|
import ru.ulstu.file.service.FileService;
|
||||||
|
import ru.ulstu.grant.model.GrantDto;
|
||||||
|
import ru.ulstu.grant.service.GrantService;
|
||||||
|
import ru.ulstu.project.model.Project;
|
||||||
|
import ru.ulstu.project.model.ProjectDto;
|
||||||
|
import ru.ulstu.project.repository.ProjectRepository;
|
||||||
|
import ru.ulstu.timeline.service.EventService;
|
||||||
|
import ru.ulstu.user.model.User;
|
||||||
|
import ru.ulstu.user.service.UserService;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import static junit.framework.TestCase.assertTrue;
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
|
public class ProjectServiceTest {
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
ProjectRepository projectRepository;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
DeadlineService deadlineService;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
EventService eventService;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
FileService fileService;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
UserService userService;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
GrantService grantService;
|
||||||
|
|
||||||
|
@InjectMocks
|
||||||
|
ProjectService projectService;
|
||||||
|
|
||||||
|
private final static String TITLE = "title";
|
||||||
|
private final static String DESCR = "descr";
|
||||||
|
private final static Integer ID = 1;
|
||||||
|
private final static Integer INDEX = 0;
|
||||||
|
private final static String NAME = "name";
|
||||||
|
|
||||||
|
private List<Project> projects;
|
||||||
|
private Project project;
|
||||||
|
private ProjectDto projectDto;
|
||||||
|
private Deadline deadline;
|
||||||
|
private List<Deadline> deadlines;
|
||||||
|
private FileData file;
|
||||||
|
private List<FileData> files;
|
||||||
|
private User user;
|
||||||
|
private GrantDto grant;
|
||||||
|
private List<GrantDto> grants;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
|
projects = new ArrayList<>();
|
||||||
|
project = new Project();
|
||||||
|
|
||||||
|
projects.add(project);
|
||||||
|
projectDto = new ProjectDto(project);
|
||||||
|
|
||||||
|
deadlines = new ArrayList<>();
|
||||||
|
deadline = new Deadline(new Date(), DESCR);
|
||||||
|
deadline.setId(ID);
|
||||||
|
deadlines.add(deadline);
|
||||||
|
|
||||||
|
user = new User();
|
||||||
|
user.setFirstName(NAME);
|
||||||
|
|
||||||
|
grants = new ArrayList<>();
|
||||||
|
grant = new GrantDto();
|
||||||
|
grant.setId(ID);
|
||||||
|
grants.add(grant);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void findAll() {
|
||||||
|
when(projectRepository.findAll()).thenReturn(projects);
|
||||||
|
assertEquals(projects, projectService.findAll());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void create() throws IOException {
|
||||||
|
when(deadlineService.saveOrCreate(new ArrayList<>())).thenReturn(deadlines);
|
||||||
|
when(projectRepository.save(new Project())).thenReturn(project);
|
||||||
|
eventService.createFromProject(new Project());
|
||||||
|
|
||||||
|
projectDto.setTitle(TITLE);
|
||||||
|
projectDto.setDeadlines(deadlines);
|
||||||
|
|
||||||
|
project.setId(ID);
|
||||||
|
project.setTitle(TITLE);
|
||||||
|
project.setDescription(DESCR);
|
||||||
|
project.setDeadlines(deadlines);
|
||||||
|
project.setFiles(files);
|
||||||
|
|
||||||
|
assertEquals(project.getId(), (projectService.create(projectDto)).getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void delete() throws IOException {
|
||||||
|
when(projectRepository.exists(ID)).thenReturn(true);
|
||||||
|
when(projectRepository.findOne(ID)).thenReturn(project);
|
||||||
|
|
||||||
|
assertTrue(projectService.delete(ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getProjectExecutors() {
|
||||||
|
List<User> executors = Collections.singletonList(user);
|
||||||
|
when(userService.findAll()).thenReturn(executors);
|
||||||
|
|
||||||
|
assertEquals(executors, projectService.getProjectExecutors(projectDto));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void findById() {
|
||||||
|
when(projectRepository.findOne(ID)).thenReturn(project);
|
||||||
|
assertEquals(project, projectService.findById(ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void removeDeadline() throws IOException {
|
||||||
|
ProjectDto newProjectDto = new ProjectDto();
|
||||||
|
newProjectDto.getRemovedDeadlineIds().add(INDEX);
|
||||||
|
projectDto.getDeadlines().add(deadline);
|
||||||
|
ProjectDto result = projectService.removeDeadline(projectDto, INDEX);
|
||||||
|
|
||||||
|
assertEquals(newProjectDto.getDeadlines(), result.getDeadlines());
|
||||||
|
assertEquals(newProjectDto.getRemovedDeadlineIds(), result.getRemovedDeadlineIds());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user