diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
index 87cb29673c9d11eea6445c84abf414463976cf27..336143e3d52f052a29fb1054188599af964b3705 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
@@ -1,7 +1,5 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.transfer;
 
-import java.util.List;
-import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -28,22 +26,14 @@ public record PostfachApiFacadeService(
 	}
 
 	public Stream<PostfachNachricht> receiveMessages() {
-		// TODO fetch message by guid and map to PostfachNachricht
-		var response = messageExchangeApi.receiveMessages(100, 0)
-				.block();
-		LOG.info("receive-message-guids: {}", String.join(", ",
-				response.getMessages().stream().map(message -> message.getGuid().toString()).toList()));
+		var response = messageExchangeApi.receiveMessages(100, 0).block();
 
-		var stream = response.getMessages().stream()
-				.map(message -> fetchMessageByGuid(message));
-
-		return stream;
+		return response.getMessages().stream().map(this::fetchMessageByGuid);
 	}
 
 	PostfachNachricht fetchMessageByGuid(final MessageExchangeReceiveMessage message) {
 		var messageReply = messageExchangeApi.getMessage(message.getGuid()).block();
-		var postfachNachricht = responseMapper.toPostfachNachricht(messageReply);
-		return PostfachNachricht.builder().build();
+		return responseMapper.toPostfachNachricht(messageReply);
 	}
 
 }
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
index 518a05a86e985b1a7d20e8c887c2ee8d0ff72a38..911e86ecb066594e6866d6993912d71907538a79 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
@@ -1,12 +1,9 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.transfer;
 
 import static de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachAddressTestFactory.*;
+import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
-import java.util.Arrays;
-import java.util.UUID;
-import java.util.stream.Stream;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -107,6 +104,28 @@ class PostfachApiFacadeServiceTest {
 
 			verify(messageExchangeApi).getMessage(any());
 		}
+
+		@Test
+		void shouldCallResponseMapper(){
+			var replyMono = Mono.just(replyMessage);
+			when(messageExchangeApi.getMessage(any())).thenReturn(replyMono);
+			when(responseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
+
+			postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
+
+			verify(responseMapper).toPostfachNachricht(any());
+		}
+
+		@Test
+		void shouldReturnPostfachNachricht(){
+			var replyMono = Mono.just(replyMessage);
+			when(messageExchangeApi.getMessage(any())).thenReturn(replyMono);
+			when(responseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
+
+			var postfachNachricht = postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
+
+			assertThat(postfachNachricht).isInstanceOf(PostfachNachricht.class);
+		}
 	}
 
 }
\ No newline at end of file