diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/attacheditem/AttachedItemMapper.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/attacheditem/AttachedItemMapper.java index 2198468540d18259a735fef97681575232ef9e44..c2b373a33138cc4df45ea98c5f516921713f4863 100644 --- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/attacheditem/AttachedItemMapper.java +++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/attacheditem/AttachedItemMapper.java @@ -29,7 +29,7 @@ import de.ozgcloud.vorgang.common.grpc.GrpcObjectMapper; import de.ozgcloud.vorgang.vorgangAttachedItem.GrpcVorgangAttachedItem; @Mapper(uses = { GrpcObjectMapper.class}) -public interface AttachedItemMapper { +interface AttachedItemMapper { AttachedItem mapFromVorgangAttachedItem(GrpcVorgangAttachedItem item); diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java index 3728f3c86ed3f0c2896f428d0ef5b57cabb35dd6..33bfa8218c587192f3eae3ac955fe99e1fe50fe0 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java @@ -20,6 +20,7 @@ import de.ozgcloud.command.Command; import de.ozgcloud.command.CommandCreatedEventTestFactory; import de.ozgcloud.command.CommandTestFactory; import de.ozgcloud.common.test.ITCase; +import de.ozgcloud.vorgang.vorgangAttachedItem.VorgangAttachedItemServiceGrpc.VorgangAttachedItemServiceBlockingStub; @ITCase class BescheidEventListenerITCase { @@ -37,6 +38,8 @@ class BescheidEventListenerITCase { private CommandMapper commandMapper; @MockBean private AttachedItemService attachedItemService; + @MockBean + private VorgangAttachedItemServiceBlockingStub serviceStub; @Mock private UserProfile userProfile; diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/AttachedItemServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/AttachedItemServiceTest.java index 3c10b5cdb070f9c0cbd60590cf805170c0491632..107f4e3caa00e1fde61ad8d7b14bad6e0e62eb79 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/AttachedItemServiceTest.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/AttachedItemServiceTest.java @@ -727,4 +727,25 @@ class AttachedItemServiceTest { } } + + @Nested + class TestGetItem { + + @Test + void shouldCallRemoteService() { + service.getItem(BescheidItemTestFactory.ID); + + verify(service).getItem(BescheidItemTestFactory.ID); + } + + @Test + void shouldReturnValue() { + var expectedItem = AttachedItemTestFactory.createDocument(); + doReturn(expectedItem).when(remoteService).getItem(any()); + + var result = service.getItem(BescheidItemTestFactory.ID); + + assertThat(result).isEqualTo(expectedItem); + } + } } \ No newline at end of file diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/VorgangAttachedItemRemoteServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/VorgangAttachedItemRemoteServiceTest.java index 88259ab1300ec4b86712144b5c196f761c7a231a..08f8be7d2b428d0c2796787b62796d945c4b25d3 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/VorgangAttachedItemRemoteServiceTest.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/VorgangAttachedItemRemoteServiceTest.java @@ -67,6 +67,8 @@ class VorgangAttachedItemRemoteServiceTest { private ClientInterceptor bescheidCallContextInterceptor; @Mock private BescheidItemMapper bescheidItemMapper; + @Mock + private AttachedItemMapper attachedItemMapper; @Nested class TestFindBescheidDraft { @@ -320,6 +322,82 @@ class VorgangAttachedItemRemoteServiceTest { } } + @Nested + class TestGetItem { + + @Mock + private GrpcVorgangAttachedItemRequest grpcVorgangAttachedItemRequest; + @Mock + private GrpcVorgangAttachedItemResponse grpcVorgangAttachedItemResponse; + @Mock + private GrpcVorgangAttachedItem grpcVorgangAttachedItem; + + @BeforeEach + void init() { + when(serviceStub.getById(any())).thenReturn(grpcVorgangAttachedItemResponse); + doReturn(serviceStub).when(service).getServiceStub(); + } + + @Test + void shouldCallGetServiceStab() { + when(grpcVorgangAttachedItemResponse.getVorgangAttachedItem()).thenReturn(grpcVorgangAttachedItem); + + getItem(); + + verify(service).getServiceStub(); + } + + @Test + void shouldCallBuildRequest() { + when(grpcVorgangAttachedItemResponse.getVorgangAttachedItem()).thenReturn(grpcVorgangAttachedItem); + + getItem(); + + verify(service).buildGetByIdRequest(AttachedItemTestFactory.ID); + } + + @Test + void shouldCallGetById() { + when(grpcVorgangAttachedItemResponse.getVorgangAttachedItem()).thenReturn(grpcVorgangAttachedItem); + doReturn(grpcVorgangAttachedItemRequest).when(service).buildGetByIdRequest(any()); + + getItem(); + + verify(serviceStub).getById(grpcVorgangAttachedItemRequest); + } + + @Test + void shouldCallMapper() { + when(grpcVorgangAttachedItemResponse.getVorgangAttachedItem()).thenReturn(grpcVorgangAttachedItem); + + getItem(); + + verify(attachedItemMapper).mapFromVorgangAttachedItem(grpcVorgangAttachedItem); + } + + @Test + void shouldReturnFoundBescheid() { + var expectedItem = AttachedItemTestFactory.createDocument(); + when(attachedItemMapper.mapFromVorgangAttachedItem(any())).thenReturn(expectedItem); + when(grpcVorgangAttachedItemResponse.getVorgangAttachedItem()).thenReturn(grpcVorgangAttachedItem); + + var result = getItem(); + + assertThat(result).isEqualTo(expectedItem); + } + + @Test + void shouldThrowExceptionIfNotFound() { + when(serviceStub.getById(any())).thenThrow(StatusRuntimeException.class); + + assertThrows(StatusRuntimeException.class, this::getItem); + } + + private AttachedItem getItem() { + return service.getItem(BescheidItemTestFactory.ID); + } + } + @Nested class TestBuildGetByIdRequest { diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtServiceITCase.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtServiceITCase.java index bffdefb5ef06bb6f12b9966e41983ecdc2066fea..9b3e707d5cdba0b094202f79d1fe962816926061 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtServiceITCase.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtServiceITCase.java @@ -13,6 +13,7 @@ import de.ozgcloud.apilib.common.command.OzgCloudCommandService; import de.ozgcloud.apilib.common.command.grpc.CommandMapper; import de.ozgcloud.bescheid.BescheidTestFactory; import de.ozgcloud.common.test.ITCase; +import de.ozgcloud.vorgang.vorgangAttachedItem.VorgangAttachedItemServiceGrpc.VorgangAttachedItemServiceBlockingStub; @ITCase class NachrichtServiceITCase { @@ -23,6 +24,8 @@ class NachrichtServiceITCase { private OzgCloudCommandService commandService; @MockBean private CommandMapper commandMapper; + @MockBean + private VorgangAttachedItemServiceBlockingStub serviceStub; @Nested class TestBuildMessage { diff --git a/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentServiceTest.java index 9ade6417382b7da3c7968fb1b994f2c568fd51eb..d97c1176e3ba0e435914364ed92a077d00f2ddc5 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentServiceTest.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentServiceTest.java @@ -44,6 +44,7 @@ import de.ozgcloud.apilib.common.datatypes.GenericId; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId; import de.ozgcloud.bescheid.BescheidCallContextAttachingInterceptor; import de.ozgcloud.bescheid.attacheditem.AttachedItemService; +import de.ozgcloud.bescheid.attacheditem.AttachedItemTestFactory; import de.ozgcloud.bescheid.attacheditem.BescheidItem; import de.ozgcloud.bescheid.attacheditem.BescheidItemTestFactory; import de.ozgcloud.command.Command; @@ -65,6 +66,8 @@ class DocumentServiceTest { private CommandMapper commandMapper; @Mock private AttachedItemService attachedItemService; + @Mock + private DocumentMapper documentMapper; private Command command = CommandTestFactory.createBuilder() .relationId(RELATION_ID) @@ -293,4 +296,34 @@ class DocumentServiceTest { } } + @Nested + class TestGetDocument { + + @Test + void shouldCallAttachedItemService() { + service.getDocument(AttachedItemTestFactory.ID); + + verify(attachedItemService).getItem(AttachedItemTestFactory.ID); + } + + @Test + void shouldCallDocumentMapper() { + var expectedItem = AttachedItemTestFactory.createDocument(); + when(attachedItemService.getItem(any())).thenReturn(expectedItem); + + service.getDocument(AttachedItemTestFactory.ID); + + verify(documentMapper).fromAttacheItem(expectedItem); + } + + @Test + void shouldReturnDocument() { + var expectedDocument = DocumentTestFactory.create(); + when(documentMapper.fromAttacheItem(any())).thenReturn(expectedDocument); + + Document document = service.getDocument(AttachedItemTestFactory.ID); + + assertThat(document).isEqualTo(expectedDocument); + } + } } \ No newline at end of file