Skip to content
Snippets Groups Projects
Commit 3e6e4fc2 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-449 OZG-2291 pass assignedTo to grpc

parent 7fd24380
Branches
Tags
No related merge requests found
...@@ -2,6 +2,7 @@ package de.itvsh.goofy.vorgang; ...@@ -2,6 +2,7 @@ package de.itvsh.goofy.vorgang;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -52,7 +53,7 @@ class VorgangRemoteService { ...@@ -52,7 +53,7 @@ class VorgangRemoteService {
.setOrderBy(GrpcOrderBy.valueOf(requestCriteria.getOrderBy().name())) .setOrderBy(GrpcOrderBy.valueOf(requestCriteria.getOrderBy().name()))
.setLimit(requestCriteria.getLimit()) .setLimit(requestCriteria.getLimit())
.setOffset(requestCriteria.getOffset()) .setOffset(requestCriteria.getOffset())
.setFilterBy(createFilterBy()); .setFilterBy(createFilterBy(requestCriteria.getAssignedTo()));
} }
VorgaengeHeaderResponse buildVorgaengeHeaderResponse(GrpcFindVorgangResponse response) { VorgaengeHeaderResponse buildVorgaengeHeaderResponse(GrpcFindVorgangResponse response) {
...@@ -79,35 +80,39 @@ class VorgangRemoteService { ...@@ -79,35 +80,39 @@ class VorgangRemoteService {
GrpcFindVorgangWithEingangRequest buildFindVorgangWithEingangRequest(String vorgangId) { GrpcFindVorgangWithEingangRequest buildFindVorgangWithEingangRequest(String vorgangId) {
return GrpcFindVorgangWithEingangRequest.newBuilder() return GrpcFindVorgangWithEingangRequest.newBuilder()
.setId(vorgangId) .setId(vorgangId)
.setFilterBy(createFilterBy()) .setFilterBy(createFilterBy(Optional.empty()))
.build(); .build();
} }
GrpcFilterBy createFilterBy() { GrpcFilterBy createFilterBy(Optional<String> assignedTo) {
var builder = GrpcFilterBy.newBuilder();
assignedTo.ifPresent(builder::setAssignedTo);
if (userService.hasRole(UserRole.VERWALTUNG_POSTSTELLE)) { if (userService.hasRole(UserRole.VERWALTUNG_POSTSTELLE)) {
return buildFilterByForPoststelle(); return buildFilterByForPoststelle(builder);
} }
if (userService.hasRole(UserRole.EINHEITLICHER_ANSPRECHPARTNER)) { if (userService.hasRole(UserRole.EINHEITLICHER_ANSPRECHPARTNER)) {
return buildFilterByForEa(); return buildFilterByForEa(builder);
} }
return buildFilterByForOtherRoles();
return buildFilterByForOtherRoles(builder);
} }
GrpcFilterBy buildFilterByForPoststelle() { GrpcFilterBy buildFilterByForPoststelle(GrpcFilterBy.Builder builder) {
return GrpcFilterBy.newBuilder() return builder
.setFilterByOrganisationseinheitenId(false) .setFilterByOrganisationseinheitenId(false)
.addStatus(VorgangStatus.NEU.name()) .addStatus(VorgangStatus.NEU.name())
.build(); .build();
} }
private GrpcFilterBy buildFilterByForEa() { private GrpcFilterBy buildFilterByForEa(GrpcFilterBy.Builder builder) {
return GrpcFilterBy.newBuilder() return builder
.setFilterByOrganisationseinheitenId(false) .setFilterByOrganisationseinheitenId(false)
.build(); .build();
} }
private GrpcFilterBy buildFilterByForOtherRoles() { private GrpcFilterBy buildFilterByForOtherRoles(GrpcFilterBy.Builder builder) {
return GrpcFilterBy.newBuilder() return builder
.setFilterByOrganisationseinheitenId(true) .setFilterByOrganisationseinheitenId(true)
.addAllOrganisationseinheitId(getOrganisationseinheitenIdsFromUser()) .addAllOrganisationseinheitId(getOrganisationseinheitenIdsFromUser())
.build(); .build();
......
...@@ -4,6 +4,8 @@ import java.util.Optional; ...@@ -4,6 +4,8 @@ import java.util.Optional;
import com.thedeanda.lorem.LoremIpsum; import com.thedeanda.lorem.LoremIpsum;
import de.itvsh.goofy.common.user.UserTestFactory;
public class FindVorgaengeRequestCriteriaTestFactory { public class FindVorgaengeRequestCriteriaTestFactory {
public static int LIMIT = 100; public static int LIMIT = 100;
...@@ -20,6 +22,7 @@ public class FindVorgaengeRequestCriteriaTestFactory { ...@@ -20,6 +22,7 @@ public class FindVorgaengeRequestCriteriaTestFactory {
.limit(LIMIT) .limit(LIMIT)
.offset(OFFSET) .offset(OFFSET)
.searchBy(Optional.of(SEARCH_BY)) .searchBy(Optional.of(SEARCH_BY))
.orderBy(ORDER_BY); .orderBy(ORDER_BY)
.assignedTo(Optional.of(UserTestFactory.ID.toString()));
} }
} }
\ No newline at end of file
...@@ -4,6 +4,9 @@ import static org.assertj.core.api.Assertions.*; ...@@ -4,6 +4,9 @@ import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*; import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -14,6 +17,7 @@ import org.mockito.Spy; ...@@ -14,6 +17,7 @@ import org.mockito.Spy;
import de.itvsh.goofy.common.user.CurrentUserService; import de.itvsh.goofy.common.user.CurrentUserService;
import de.itvsh.goofy.common.user.GoofyUserTestFactory; import de.itvsh.goofy.common.user.GoofyUserTestFactory;
import de.itvsh.goofy.common.user.UserRole; import de.itvsh.goofy.common.user.UserRole;
import de.itvsh.goofy.common.user.UserTestFactory;
import de.itvsh.goofy.vorgang.Vorgang.VorgangStatus; import de.itvsh.goofy.vorgang.Vorgang.VorgangStatus;
import de.itvsh.ozg.pluto.vorgang.GrpcFilterBy; import de.itvsh.ozg.pluto.vorgang.GrpcFilterBy;
import de.itvsh.ozg.pluto.vorgang.GrpcFindVorgangRequest; import de.itvsh.ozg.pluto.vorgang.GrpcFindVorgangRequest;
...@@ -47,7 +51,7 @@ class VorgangRemoteServiceTest { ...@@ -47,7 +51,7 @@ class VorgangRemoteServiceTest {
@BeforeEach @BeforeEach
void initMockReturnValues() { void initMockReturnValues() {
doReturn(filterBy).when(service).createFilterBy(); doReturn(filterBy).when(service).createFilterBy(any());
doReturn(VorgangListResponseTestFactory.create()).when(service).buildVorgaengeHeaderResponse(any()); doReturn(VorgangListResponseTestFactory.create()).when(service).buildVorgaengeHeaderResponse(any());
} }
...@@ -62,7 +66,7 @@ class VorgangRemoteServiceTest { ...@@ -62,7 +66,7 @@ class VorgangRemoteServiceTest {
void shouldCallCreateFilterBy() { void shouldCallCreateFilterBy() {
callService(); callService();
verify(service).createFilterBy(); verify(service).createFilterBy(requestCriteria.getAssignedTo());
} }
@Test @Test
...@@ -82,7 +86,7 @@ class VorgangRemoteServiceTest { ...@@ -82,7 +86,7 @@ class VorgangRemoteServiceTest {
@BeforeEach @BeforeEach
void initMockReturnValues() { void initMockReturnValues() {
doReturn(filterBy).when(service).createFilterBy(); doReturn(filterBy).when(service).createFilterBy(any());
} }
@Test @Test
...@@ -160,6 +164,31 @@ class VorgangRemoteServiceTest { ...@@ -160,6 +164,31 @@ class VorgangRemoteServiceTest {
@Nested @Nested
class TestCreateFilterBy { class TestCreateFilterBy {
@Nested
class TestAssignedTo {
@BeforeEach
void mockUserService() {
when(userService.hasRole(any())).thenReturn(false);
when(userService.getUser()).thenReturn(GoofyUserTestFactory.create());
}
@Test
void shouldBeSetIfExists() {
var filterCriteria = callService(Optional.of(UserTestFactory.ID.toString()));
assertThat(filterCriteria.getAssignedTo()).isEqualTo(UserTestFactory.ID.toString());
}
@Test
void shouldNotBeSetIfNotExist() {
var filterCriteria = callService(Optional.empty());
assertThat(filterCriteria.getAssignedTo()).isEqualTo(StringUtils.EMPTY);
}
}
@Nested @Nested
class TestForPoststelle { class TestForPoststelle {
...@@ -237,7 +266,11 @@ class VorgangRemoteServiceTest { ...@@ -237,7 +266,11 @@ class VorgangRemoteServiceTest {
} }
private GrpcFilterBy callService() { private GrpcFilterBy callService() {
return service.createFilterBy(); return callService(Optional.empty());
}
private GrpcFilterBy callService(Optional<String> assignedTo) {
return service.createFilterBy(assignedTo);
} }
} }
...@@ -253,14 +286,14 @@ class VorgangRemoteServiceTest { ...@@ -253,14 +286,14 @@ class VorgangRemoteServiceTest {
void mockReturnValue() { void mockReturnValue() {
when(serviceStub.findVorgangWithEingang(any())).thenReturn(GrpcVorgangWthEingangTestFactory.createVorgangWithEingangResponse()); when(serviceStub.findVorgangWithEingang(any())).thenReturn(GrpcVorgangWthEingangTestFactory.createVorgangWithEingangResponse());
when(vorgangWithEingangMapper.toVorgangWithEingang(any())).thenReturn(vorgangWithEingang); when(vorgangWithEingangMapper.toVorgangWithEingang(any())).thenReturn(vorgangWithEingang);
doReturn(filterBy).when(service).createFilterBy(); doReturn(filterBy).when(service).createFilterBy(any());
} }
@Test @Test
void shouldCreateFilterBy() { void shouldCreateFilterBy() {
callService(); callService();
verify(service).createFilterBy(); verify(service).createFilterBy(any());
} }
@Test @Test
...@@ -297,7 +330,7 @@ class VorgangRemoteServiceTest { ...@@ -297,7 +330,7 @@ class VorgangRemoteServiceTest {
@BeforeEach @BeforeEach
void mockReturnValue() { void mockReturnValue() {
doReturn(filterBy).when(service).createFilterBy(); doReturn(filterBy).when(service).createFilterBy(any());
} }
@Test @Test
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment