From e7ea85e3b08d5516cbd41f317866b8ceb5bd3d62 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 19 Dec 2024 14:46:20 +0100
Subject: [PATCH] OZG-7350 add notNull validation for Fachstelle in
 collaboration request

---
 .../collaboration/CollaborationRequest.java         |  2 ++
 .../collaboration/CollaborationServiceITCase.java   | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/collaboration-manager-server/src/main/java/de/ozgcloud/collaboration/CollaborationRequest.java b/collaboration-manager-server/src/main/java/de/ozgcloud/collaboration/CollaborationRequest.java
index 05cff61..05d26d7 100644
--- a/collaboration-manager-server/src/main/java/de/ozgcloud/collaboration/CollaborationRequest.java
+++ b/collaboration-manager-server/src/main/java/de/ozgcloud/collaboration/CollaborationRequest.java
@@ -25,6 +25,7 @@ package de.ozgcloud.collaboration;
 
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 
 import de.ozgcloud.collaboration.fachstelle.Fachstelle;
 import de.ozgcloud.collaboration.request.CollaborationRequestId;
@@ -62,5 +63,6 @@ public class CollaborationRequest {
 	@NotBlank
 	private String beschreibung;
 	@Valid
+	@NotNull
 	private Fachstelle zustaendigeStelle;
 }
diff --git a/collaboration-manager-server/src/test/java/de/ozgcloud/collaboration/CollaborationServiceITCase.java b/collaboration-manager-server/src/test/java/de/ozgcloud/collaboration/CollaborationServiceITCase.java
index a054e1b..c701bc4 100644
--- a/collaboration-manager-server/src/test/java/de/ozgcloud/collaboration/CollaborationServiceITCase.java
+++ b/collaboration-manager-server/src/test/java/de/ozgcloud/collaboration/CollaborationServiceITCase.java
@@ -30,6 +30,7 @@ import jakarta.validation.ConstraintViolationException;
 import org.apache.commons.lang3.StringUtils;
 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.NullAndEmptySource;
 import org.junit.jupiter.params.provider.ValueSource;
@@ -81,7 +82,7 @@ class CollaborationServiceITCase {
 			assertThrows(ConstraintViolationException.class, () -> service.createCollaborationRequest(request));
 		}
 
-		@DisplayName("should validate zustaendigeStelle")
+		@DisplayName("should validate subjectId of zustaendigeStelle")
 		@ParameterizedTest(name = "fail when subjectId: \"{0}\"")
 		@NullAndEmptySource
 		@ValueSource(strings = { StringUtils.SPACE })
@@ -92,6 +93,16 @@ class CollaborationServiceITCase {
 
 			assertThrows(ConstraintViolationException.class, () -> service.createCollaborationRequest(request));
 		}
+
+		@DisplayName("should validate zustaendigeStelle")
+		@Test
+		void shouldValidateCollaborationZustaendigeStelle() {
+			var request = CollaborationRequestTestFactory.createBuilder()
+					.zustaendigeStelle(null)
+					.build();
+
+			assertThrows(ConstraintViolationException.class, () -> service.createCollaborationRequest(request));
+		}
 	}
 
 	@Nested
-- 
GitLab