From e2494757c22c51ce234f30f405161498be6acbdd Mon Sep 17 00:00:00 2001
From: Krzysztof <krzysztof.witukiewicz@mgm-tp.com>
Date: Fri, 11 Apr 2025 16:30:21 +0200
Subject: [PATCH 1/3] OZG-7773 OZG-8079 setHasNewPostfachNachricht only if
 there are incoming mails

---
 .../postfach/PostfachMailModelAssembler.java  |  31 +++-
 .../PostfachMailModelAssemblerTest.java       | 151 +++++++++++++++---
 2 files changed, 154 insertions(+), 28 deletions(-)

diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
index 792d90d96a..9efceff0fd 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
@@ -25,6 +25,7 @@ package de.ozgcloud.alfa.postfach;
 
 import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.*;
 
+import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.function.Predicate;
@@ -68,6 +69,7 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 	private static final String FILE_PATH = "file";
 
 	private static final Predicate<PostfachMail> IS_OUTGOING = postfachNachricht -> postfachNachricht.getDirection() == Direction.OUT;
+	private static final Predicate<PostfachMail> IS_INCOMING = postfachNachricht -> postfachNachricht.getDirection() == Direction.IN;
 
 	private static final Predicate<PostfachMail> SENT_FAILED = postfachMail -> Objects.nonNull(postfachMail.getSentAt())
 			&& BooleanUtils.isFalse(postfachMail.getSentSuccessful());
@@ -84,11 +86,11 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 
 	public RepresentationModel<EntityModel<PostfachSettings>> toCollectionModel(Stream<PostfachMail> postfachMails, VorgangWithEingang vorgang,
 			PostfachSettings postfachSettings) {
-
-		var model = buildHalRepresentationModel(postfachMails, vorgang, postfachSettings);
+		var postfachMailsList = postfachMails.toList();
+		var model = buildHalRepresentationModel(postfachMailsList.stream(), vorgang, postfachSettings);
 
 		if (hasServiceKonto(vorgang)) {
-			addPostfachNachrichtLinks(model, vorgang);
+			addPostfachNachrichtLinks(model, getVorgangInfo(postfachMailsList, vorgang));
 		}
 		return model;
 	}
@@ -106,10 +108,20 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 		return Optional.ofNullable(vorgang.getHeader()).map(VorgangHead::getServiceKonto).isPresent();
 	}
 
-	void addPostfachNachrichtLinks(RepresentationModel<EntityModel<PostfachSettings>> model, VorgangWithEingang vorgang) {
-		var vorgangId = vorgang.getId();
+	record VorgangInfo(VorgangWithEingang vorgang, boolean hasIncomingMails) {}
+
+	VorgangInfo getVorgangInfo(List<PostfachMail> postfachMails, VorgangWithEingang vorgang) {
+		return new VorgangInfo(vorgang, hasIncomingMails(postfachMails));
+	}
 
-		if (vorgangController.isEditable(vorgang)) {
+	boolean hasIncomingMails(List<PostfachMail> postfachMails) {
+		return postfachMails.stream().anyMatch(IS_INCOMING);
+	}
+
+	void addPostfachNachrichtLinks(RepresentationModel<EntityModel<PostfachSettings>> model, VorgangInfo vorgangInfo) {
+		var vorgangId = vorgangInfo.vorgang.getId();
+
+		if (vorgangController.isEditable(vorgangInfo.vorgang)) {
 			model.add(linkTo(methodOn(PostfachMailCommandByVorgangController.class).sendPostfachMail(vorgangId, null))
 					.withRel(REL_SEND_POSTFACH_MAIL));
 		}
@@ -117,8 +129,11 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 		model.add(linkTo(BinaryFileController.class).slash(vorgangId).slash(POSTFACH_NACHRICHT_ATTACHMENT_FIELD).slash(FILE_PATH)
 				.withRel(REL_UPLOAD_ATTACHMENT));
 
-		model.add(linkTo(VorgangController.class).slash(vorgangId).slash(HAS_NEW_POSTFACH_NACHRICHT_FIELD)
-				.withRel(vorgang.isHasNewPostfachNachricht() ? REL_RESET_NEW_POSTFACH_MAIL : REL_SET_HAS_NEW_POSTFACH_MAIL));
+		if (vorgangInfo.vorgang.isHasNewPostfachNachricht()) {
+			model.add(linkTo(VorgangController.class).slash(vorgangId).slash(HAS_NEW_POSTFACH_NACHRICHT_FIELD).withRel(REL_RESET_NEW_POSTFACH_MAIL));
+		} else if (vorgangInfo.hasIncomingMails()) {
+			model.add(linkTo(VorgangController.class).slash(vorgangId).slash(HAS_NEW_POSTFACH_NACHRICHT_FIELD).withRel(REL_SET_HAS_NEW_POSTFACH_MAIL));
+		}
 	}
 
 	@Override
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssemblerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssemblerTest.java
index 01b02c1d5f..178be8905d 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssemblerTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssemblerTest.java
@@ -27,6 +27,7 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
+import java.util.List;
 import java.util.UUID;
 import java.util.stream.Stream;
 
@@ -34,6 +35,10 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
@@ -53,6 +58,7 @@ import de.ozgcloud.alfa.common.user.UserId;
 import de.ozgcloud.alfa.common.user.UserManagerUrlProvider;
 import de.ozgcloud.alfa.postfach.PostfachMail.Direction;
 import de.ozgcloud.alfa.postfach.PostfachMailController.PostfachMailCommandByVorgangController;
+import de.ozgcloud.alfa.postfach.PostfachMailModelAssembler.VorgangInfo;
 import de.ozgcloud.alfa.vorgang.ServiceKontoTestFactory;
 import de.ozgcloud.alfa.vorgang.VorgangController;
 import de.ozgcloud.alfa.vorgang.VorgangHeadTestFactory;
@@ -291,40 +297,59 @@ class PostfachMailModelAssemblerTest {
 	@Nested
 	class TestToCollectionModel {
 
-		private final Stream<PostfachMail> mails = Stream.of(PostfachMailTestFactory.create());
+		private final List<PostfachMail> mails = List.of(PostfachMailTestFactory.create());
 		private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
 		private final PostfachSettings postfachSettings = PostfachSettingsTestFactory.create();
 
 		@Mock
 		private RepresentationModel<EntityModel<PostfachSettings>> model;
+		@Captor
+		private ArgumentCaptor<Stream<PostfachMail>> postfachMailsCaptor;
 
 		@BeforeEach
 		void setUpMocks() {
-			doReturn(model).when(modelAssembler).buildHalRepresentationModel(mails, vorgang, postfachSettings);
+			doReturn(model).when(modelAssembler).buildHalRepresentationModel(any(), any(), any());
 		}
 
 		@Test
 		void shouldBuildHalRepresentationModel() {
+			doReturn(false).when(modelAssembler).hasServiceKonto(vorgang);
+
 			callModelAssembler();
 
-			verify(modelAssembler).buildHalRepresentationModel(mails, vorgang, postfachSettings);
+			verify(modelAssembler).buildHalRepresentationModel(postfachMailsCaptor.capture(), same(vorgang), same(postfachSettings));
+			assertThat(postfachMailsCaptor.getValue()).containsExactlyElementsOf(mails);
 		}
 
 		@Nested
 		class OnHasServiceKonto {
 
+			private final VorgangInfo vorgangInfo = new VorgangInfo(vorgang, true);
+
+			@BeforeEach
+			void init() {
+				doReturn(vorgangInfo).when(modelAssembler).getVorgangInfo(any(), any());
+			}
+
+			@Test
+			void shouldGetVorgangInfo() {
+				callModelAssembler();
+
+				verify(modelAssembler).getVorgangInfo(mails, vorgang);
+			}
+
 			@Test
 			void shouldAddPostfachNachrichtLinks() {
 				doReturn(true).when(modelAssembler).hasServiceKonto(vorgang);
 
 				callModelAssembler();
 
-				verify(modelAssembler).addPostfachNachrichtLinks(model, vorgang);
+				verify(modelAssembler).addPostfachNachrichtLinks(model, vorgangInfo);
 			}
 		}
 
 		@Nested
-		class OnHasNotServiceKonto {
+		class OnHasNoServiceKonto {
 
 			@Test
 			void shouldAddPostfachNachrichtLinks() {
@@ -338,13 +363,15 @@ class PostfachMailModelAssemblerTest {
 
 		@Test
 		void shouldReturnModel() {
+			doReturn(false).when(modelAssembler).hasServiceKonto(vorgang);
+
 			var returnedModel = callModelAssembler();
 
 			assertThat(returnedModel).isEqualTo(model);
 		}
 
 		private RepresentationModel<EntityModel<PostfachSettings>> callModelAssembler() {
-			return modelAssembler.toCollectionModel(mails, vorgang, postfachSettings);
+			return modelAssembler.toCollectionModel(mails.stream(), vorgang, postfachSettings);
 		}
 	}
 
@@ -410,6 +437,37 @@ class PostfachMailModelAssemblerTest {
 
 	}
 
+	@Nested
+	class TestGetVorgangInfo {
+
+		private final List<PostfachMail> mails = List.of(PostfachMailTestFactory.create());
+		private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
+
+		@Test
+		void shouldCallHasIncomingMails() {
+			modelAssembler.getVorgangInfo(mails, vorgang);
+
+			verify(modelAssembler).hasIncomingMails(mails);
+		}
+
+		@ParameterizedTest
+		@ValueSource(booleans = { true, false })
+		void shouldHaveHasIncomingMails(boolean hasIncomingMails) {
+			doReturn(hasIncomingMails).when(modelAssembler).hasIncomingMails(any());
+
+			var vorgangInfo = modelAssembler.getVorgangInfo(mails, vorgang);
+
+			assertThat(vorgangInfo.hasIncomingMails()).isEqualTo(hasIncomingMails);
+		}
+
+		@Test
+		void shouldHaveVorgang() {
+			var vorgangInfo = modelAssembler.getVorgangInfo(mails, vorgang);
+
+			assertThat(vorgangInfo.vorgang()).isEqualTo(vorgang);
+		}
+	}
+
 	@Nested
 	class TestHasServiceKonto {
 
@@ -438,6 +496,33 @@ class PostfachMailModelAssemblerTest {
 		}
 	}
 
+	@Nested
+	class TestHasIncomingMails {
+
+		@Test
+		void shouldReturnFalseIfListIsEmpty() {
+			var hasIncomingMails = modelAssembler.hasIncomingMails(List.of());
+
+			assertThat(hasIncomingMails).isFalse();
+		}
+
+		@Test
+		void shouldReturnFalseIfNoIncomingMails() {
+			var hasIncomingMails = modelAssembler.hasIncomingMails(List.of(PostfachMailTestFactory.createBuilder().direction(Direction.OUT).build()));
+
+			assertThat(hasIncomingMails).isFalse();
+		}
+
+		@Test
+		void shouldReturnTrueIfIncomingMailsArePresent() {
+			var hasIncomingMails = modelAssembler.hasIncomingMails(List.of(
+					PostfachMailTestFactory.createBuilder().direction(Direction.OUT).build(),
+					PostfachMailTestFactory.createBuilder().direction(Direction.IN).build()));
+
+			assertThat(hasIncomingMails).isTrue();
+		}
+	}
+
 	@Nested
 	class TestAddPostfachNachrichtLinks {
 
@@ -473,23 +558,49 @@ class PostfachMailModelAssemblerTest {
 		@Nested
 		class SetHasNewPostfachNachrichtLink {
 
-			@Test
-			void shouldBePresent() {
-				callModelAssembler(VorgangWithEingangTestFactory.createBuilder().hasNewPostfachNachricht(false).build());
+			@Nested
+			class OnHasNewPostfachNachrichtSet {
 
-				var link = model.getLink(PostfachMailModelAssembler.REL_SET_HAS_NEW_POSTFACH_MAIL);
-				assertThat(link).isPresent().get().extracting(Link::getHref)
-						.isEqualTo(UriComponentsBuilder.fromUriString("/api/vorgangs")
-								.pathSegment(VorgangHeaderTestFactory.ID, "hasNewPostfachNachricht")
-								.build().toString());
+				@Test
+				void shouldNotBePresent() {
+					callModelAssembler();
+
+					var link = model.getLink(PostfachMailModelAssembler.REL_SET_HAS_NEW_POSTFACH_MAIL);
+					assertThat(link).isNotPresent();
+				}
+
+				private void callModelAssembler() {
+					modelAssembler.addPostfachNachrichtLinks(model,
+							new VorgangInfo(VorgangWithEingangTestFactory.createBuilder().hasNewPostfachNachricht(true).build(), true));
+				}
 			}
 
-			@Test
-			void shouldNotBePresent() {
-				callModelAssembler(VorgangWithEingangTestFactory.create());
+			@Nested
+			class OnHasNewPostfachNachrichtUnset {
 
-				var link = model.getLink(PostfachMailModelAssembler.REL_SET_HAS_NEW_POSTFACH_MAIL);
-				assertThat(link).isNotPresent();
+				@Test
+				void shouldBePresentWhenHasIncomingMails() {
+					callModelAssembler(true);
+
+					var link = model.getLink(PostfachMailModelAssembler.REL_SET_HAS_NEW_POSTFACH_MAIL);
+					assertThat(link).isPresent().get().extracting(Link::getHref)
+							.isEqualTo(UriComponentsBuilder.fromUriString("/api/vorgangs")
+									.pathSegment(VorgangHeaderTestFactory.ID, "hasNewPostfachNachricht")
+									.build().toString());
+				}
+
+				@Test
+				void shouldNotBePresentWhenHasNoIncomingMails() {
+					callModelAssembler(false);
+
+					var link = model.getLink(PostfachMailModelAssembler.REL_SET_HAS_NEW_POSTFACH_MAIL);
+					assertThat(link).isNotPresent();
+				}
+
+				private void callModelAssembler(boolean hasIncomingMails) {
+					modelAssembler.addPostfachNachrichtLinks(model,
+							new VorgangInfo(VorgangWithEingangTestFactory.createBuilder().hasNewPostfachNachricht(false).build(), hasIncomingMails));
+				}
 			}
 		}
 
@@ -545,7 +656,7 @@ class PostfachMailModelAssemblerTest {
 		}
 
 		private void callModelAssembler(VorgangWithEingang vorgang) {
-			modelAssembler.addPostfachNachrichtLinks(model, vorgang);
+			modelAssembler.addPostfachNachrichtLinks(model, new VorgangInfo(vorgang, false));
 		}
 	}
 }
-- 
GitLab


From 33458b51901ee6f6b6ce207209c87f92af7fce2c Mon Sep 17 00:00:00 2001
From: Krzysztof <krzysztof.witukiewicz@mgm-tp.com>
Date: Fri, 11 Apr 2025 17:15:11 +0200
Subject: [PATCH 2/3] OZG-7773 OZG-8079 Renamings

---
 .../postfach/PostfachMailModelAssembler.java  | 11 ++++---
 .../PostfachMailModelAssemblerTest.java       | 30 +++++++++----------
 2 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
index 9efceff0fd..6d73eb8ef1 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
@@ -90,7 +90,7 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 		var model = buildHalRepresentationModel(postfachMailsList.stream(), vorgang, postfachSettings);
 
 		if (hasServiceKonto(vorgang)) {
-			addPostfachNachrichtLinks(model, getVorgangInfo(postfachMailsList, vorgang));
+			addPostfachNachrichtLinks(model, buildVorgangMailInfo(postfachMailsList, vorgang));
 		}
 		return model;
 	}
@@ -108,17 +108,15 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 		return Optional.ofNullable(vorgang.getHeader()).map(VorgangHead::getServiceKonto).isPresent();
 	}
 
-	record VorgangInfo(VorgangWithEingang vorgang, boolean hasIncomingMails) {}
-
-	VorgangInfo getVorgangInfo(List<PostfachMail> postfachMails, VorgangWithEingang vorgang) {
-		return new VorgangInfo(vorgang, hasIncomingMails(postfachMails));
+	VorgangMailInfo buildVorgangMailInfo(List<PostfachMail> postfachMails, VorgangWithEingang vorgang) {
+		return new VorgangMailInfo(vorgang, hasIncomingMails(postfachMails));
 	}
 
 	boolean hasIncomingMails(List<PostfachMail> postfachMails) {
 		return postfachMails.stream().anyMatch(IS_INCOMING);
 	}
 
-	void addPostfachNachrichtLinks(RepresentationModel<EntityModel<PostfachSettings>> model, VorgangInfo vorgangInfo) {
+	void addPostfachNachrichtLinks(RepresentationModel<EntityModel<PostfachSettings>> model, VorgangMailInfo vorgangInfo) {
 		var vorgangId = vorgangInfo.vorgang.getId();
 
 		if (vorgangController.isEditable(vorgangInfo.vorgang)) {
@@ -156,4 +154,5 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 						() -> Link.of(String.format(userManagerUrlProvider.getUserProfileTemplate(), postfachMail.getCreatedBy()), REL_CREATED_BY));
 	}
 
+	record VorgangMailInfo(VorgangWithEingang vorgang, boolean hasIncomingMails) {}
 }
\ No newline at end of file
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssemblerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssemblerTest.java
index 178be8905d..da9a28e8d9 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssemblerTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssemblerTest.java
@@ -58,7 +58,7 @@ import de.ozgcloud.alfa.common.user.UserId;
 import de.ozgcloud.alfa.common.user.UserManagerUrlProvider;
 import de.ozgcloud.alfa.postfach.PostfachMail.Direction;
 import de.ozgcloud.alfa.postfach.PostfachMailController.PostfachMailCommandByVorgangController;
-import de.ozgcloud.alfa.postfach.PostfachMailModelAssembler.VorgangInfo;
+import de.ozgcloud.alfa.postfach.PostfachMailModelAssembler.VorgangMailInfo;
 import de.ozgcloud.alfa.vorgang.ServiceKontoTestFactory;
 import de.ozgcloud.alfa.vorgang.VorgangController;
 import de.ozgcloud.alfa.vorgang.VorgangHeadTestFactory;
@@ -324,18 +324,18 @@ class PostfachMailModelAssemblerTest {
 		@Nested
 		class OnHasServiceKonto {
 
-			private final VorgangInfo vorgangInfo = new VorgangInfo(vorgang, true);
+			private final VorgangMailInfo vorgangMailInfo = new VorgangMailInfo(vorgang, true);
 
 			@BeforeEach
 			void init() {
-				doReturn(vorgangInfo).when(modelAssembler).getVorgangInfo(any(), any());
+				doReturn(vorgangMailInfo).when(modelAssembler).buildVorgangMailInfo(any(), any());
 			}
 
 			@Test
-			void shouldGetVorgangInfo() {
+			void shouldBuildVorgangMailInfo() {
 				callModelAssembler();
 
-				verify(modelAssembler).getVorgangInfo(mails, vorgang);
+				verify(modelAssembler).buildVorgangMailInfo(mails, vorgang);
 			}
 
 			@Test
@@ -344,7 +344,7 @@ class PostfachMailModelAssemblerTest {
 
 				callModelAssembler();
 
-				verify(modelAssembler).addPostfachNachrichtLinks(model, vorgangInfo);
+				verify(modelAssembler).addPostfachNachrichtLinks(model, vorgangMailInfo);
 			}
 		}
 
@@ -438,14 +438,14 @@ class PostfachMailModelAssemblerTest {
 	}
 
 	@Nested
-	class TestGetVorgangInfo {
+	class TestBuildVorgangMailInfo {
 
 		private final List<PostfachMail> mails = List.of(PostfachMailTestFactory.create());
 		private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
 
 		@Test
 		void shouldCallHasIncomingMails() {
-			modelAssembler.getVorgangInfo(mails, vorgang);
+			modelAssembler.buildVorgangMailInfo(mails, vorgang);
 
 			verify(modelAssembler).hasIncomingMails(mails);
 		}
@@ -455,16 +455,16 @@ class PostfachMailModelAssemblerTest {
 		void shouldHaveHasIncomingMails(boolean hasIncomingMails) {
 			doReturn(hasIncomingMails).when(modelAssembler).hasIncomingMails(any());
 
-			var vorgangInfo = modelAssembler.getVorgangInfo(mails, vorgang);
+			var vorgangMailInfo = modelAssembler.buildVorgangMailInfo(mails, vorgang);
 
-			assertThat(vorgangInfo.hasIncomingMails()).isEqualTo(hasIncomingMails);
+			assertThat(vorgangMailInfo.hasIncomingMails()).isEqualTo(hasIncomingMails);
 		}
 
 		@Test
 		void shouldHaveVorgang() {
-			var vorgangInfo = modelAssembler.getVorgangInfo(mails, vorgang);
+			var vorgangMailInfo = modelAssembler.buildVorgangMailInfo(mails, vorgang);
 
-			assertThat(vorgangInfo.vorgang()).isEqualTo(vorgang);
+			assertThat(vorgangMailInfo.vorgang()).isEqualTo(vorgang);
 		}
 	}
 
@@ -571,7 +571,7 @@ class PostfachMailModelAssemblerTest {
 
 				private void callModelAssembler() {
 					modelAssembler.addPostfachNachrichtLinks(model,
-							new VorgangInfo(VorgangWithEingangTestFactory.createBuilder().hasNewPostfachNachricht(true).build(), true));
+							new VorgangMailInfo(VorgangWithEingangTestFactory.createBuilder().hasNewPostfachNachricht(true).build(), true));
 				}
 			}
 
@@ -599,7 +599,7 @@ class PostfachMailModelAssemblerTest {
 
 				private void callModelAssembler(boolean hasIncomingMails) {
 					modelAssembler.addPostfachNachrichtLinks(model,
-							new VorgangInfo(VorgangWithEingangTestFactory.createBuilder().hasNewPostfachNachricht(false).build(), hasIncomingMails));
+							new VorgangMailInfo(VorgangWithEingangTestFactory.createBuilder().hasNewPostfachNachricht(false).build(), hasIncomingMails));
 				}
 			}
 		}
@@ -656,7 +656,7 @@ class PostfachMailModelAssemblerTest {
 		}
 
 		private void callModelAssembler(VorgangWithEingang vorgang) {
-			modelAssembler.addPostfachNachrichtLinks(model, new VorgangInfo(vorgang, false));
+			modelAssembler.addPostfachNachrichtLinks(model, new VorgangMailInfo(vorgang, false));
 		}
 	}
 }
-- 
GitLab


From 695dd6cc26af32ad7ce746679f12052fc9d2958a Mon Sep 17 00:00:00 2001
From: Krzysztof <krzysztof.witukiewicz@mgm-tp.com>
Date: Fri, 11 Apr 2025 17:18:34 +0200
Subject: [PATCH 3/3] OZG-7773 OZG-8079 Renamings

---
 .../alfa/postfach/PostfachMailModelAssembler.java      | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
index 6d73eb8ef1..7809011ca6 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachMailModelAssembler.java
@@ -116,10 +116,10 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 		return postfachMails.stream().anyMatch(IS_INCOMING);
 	}
 
-	void addPostfachNachrichtLinks(RepresentationModel<EntityModel<PostfachSettings>> model, VorgangMailInfo vorgangInfo) {
-		var vorgangId = vorgangInfo.vorgang.getId();
+	void addPostfachNachrichtLinks(RepresentationModel<EntityModel<PostfachSettings>> model, VorgangMailInfo vorgangMailInfo) {
+		var vorgangId = vorgangMailInfo.vorgang.getId();
 
-		if (vorgangController.isEditable(vorgangInfo.vorgang)) {
+		if (vorgangController.isEditable(vorgangMailInfo.vorgang)) {
 			model.add(linkTo(methodOn(PostfachMailCommandByVorgangController.class).sendPostfachMail(vorgangId, null))
 					.withRel(REL_SEND_POSTFACH_MAIL));
 		}
@@ -127,9 +127,9 @@ class PostfachMailModelAssembler implements RepresentationModelAssembler<Postfac
 		model.add(linkTo(BinaryFileController.class).slash(vorgangId).slash(POSTFACH_NACHRICHT_ATTACHMENT_FIELD).slash(FILE_PATH)
 				.withRel(REL_UPLOAD_ATTACHMENT));
 
-		if (vorgangInfo.vorgang.isHasNewPostfachNachricht()) {
+		if (vorgangMailInfo.vorgang.isHasNewPostfachNachricht()) {
 			model.add(linkTo(VorgangController.class).slash(vorgangId).slash(HAS_NEW_POSTFACH_NACHRICHT_FIELD).withRel(REL_RESET_NEW_POSTFACH_MAIL));
-		} else if (vorgangInfo.hasIncomingMails()) {
+		} else if (vorgangMailInfo.hasIncomingMails()) {
 			model.add(linkTo(VorgangController.class).slash(vorgangId).slash(HAS_NEW_POSTFACH_NACHRICHT_FIELD).withRel(REL_SET_HAS_NEW_POSTFACH_MAIL));
 		}
 	}
-- 
GitLab