Refactoring and new test
Renamed boolean in updateHeadSupervisor method from toAdd -> shouldChange Added test to cover the branching in updateHeadSupervisor
This commit is contained in:
parent
82c5a7a85a
commit
9bdd22d91d
daisy-integration/src
main/java/se/su/dsv/scipro/integration/daisy/workers
test/java/se/su/dsv/scipro/integration/daisy/workers
@ -258,14 +258,14 @@ public class ProjectExporter extends AbstractWorker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateHeadSupervisor(Project project) throws ExternalExportException {
|
private void updateHeadSupervisor(Project project) throws ExternalExportException {
|
||||||
boolean toAdd = true;
|
boolean shouldChange = true;
|
||||||
Set<ProjectParticipant> contributors = daisyAPI.getContributors(project.getIdentifier());
|
Set<ProjectParticipant> contributors = daisyAPI.getContributors(project.getIdentifier());
|
||||||
for (ProjectParticipant contributor : contributors) {
|
for (ProjectParticipant contributor : contributors) {
|
||||||
if (contributor.getRole() == Role.SUPERVISOR) {
|
if (contributor.getRole() == Role.SUPERVISOR) {
|
||||||
toAdd = !contributor.getPerson().getId().equals(project.getHeadSupervisor().getIdentifier());
|
shouldChange = !contributor.getPerson().getId().equals(project.getHeadSupervisor().getIdentifier());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (toAdd) {
|
if (shouldChange) {
|
||||||
externalExporter.addContributorToProject(project, project.getHeadSupervisor(), Role.SUPERVISOR);
|
externalExporter.addContributorToProject(project, project.getHeadSupervisor(), Role.SUPERVISOR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
30
daisy-integration/src/test/java/se/su/dsv/scipro/integration/daisy/workers/ProjectExporterTest.java
30
daisy-integration/src/test/java/se/su/dsv/scipro/integration/daisy/workers/ProjectExporterTest.java
@ -2,6 +2,7 @@ package se.su.dsv.scipro.integration.daisy.workers;
|
|||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.mockito.ArgumentMatchers.*;
|
import static org.mockito.ArgumentMatchers.*;
|
||||||
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@ -172,6 +173,35 @@ public class ProjectExporterTest {
|
|||||||
verify(externalExporter).addContributorToProject(exportedProject, newSupervisor, Role.SUPERVISOR);
|
verify(externalExporter).addContributorToProject(exportedProject, newSupervisor, Role.SUPERVISOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void should_not_change_head_supervisor_if_already_exists() throws Exception {
|
||||||
|
User newSupervisor = User.builder()
|
||||||
|
.firstName("New")
|
||||||
|
.lastName("Supervisor")
|
||||||
|
.emailAddress("new@supervisor.com")
|
||||||
|
.build();
|
||||||
|
Unit unit = new Unit();
|
||||||
|
unit.setIdentifier(239478);
|
||||||
|
|
||||||
|
newSupervisor.setIdentifier(SUPERVISOR_IDENTIFIER);
|
||||||
|
newSupervisor.setUnit(unit);
|
||||||
|
exportedProject.setHeadSupervisor(newSupervisor);
|
||||||
|
|
||||||
|
Set<ProjectParticipant> contributors = new HashSet<>();
|
||||||
|
ProjectParticipant oldSupervisor = new ProjectParticipant();
|
||||||
|
oldSupervisor.setRole(Role.SUPERVISOR);
|
||||||
|
Person oldPerson = new Person();
|
||||||
|
oldPerson.setId(SUPERVISOR_IDENTIFIER);
|
||||||
|
oldSupervisor.setPerson(oldPerson);
|
||||||
|
contributors.add(oldSupervisor);
|
||||||
|
|
||||||
|
when(daisyAPI.getContributors(exportedProject.getIdentifier())).thenReturn(contributors);
|
||||||
|
|
||||||
|
projectExporter.run();
|
||||||
|
|
||||||
|
verify(externalExporter, never()).addContributorToProject(exportedProject, newSupervisor, Role.SUPERVISOR);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void adds_missing_co_supervisor_to_project() throws Exception {
|
public void adds_missing_co_supervisor_to_project() throws Exception {
|
||||||
User user = User.builder().firstName("co").lastName("supervisor").emailAddress("co@supervisor.com").build();
|
User user = User.builder().firstName("co").lastName("supervisor").emailAddress("co@supervisor.com").build();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user