From 9ef96214f292c4c4042b254369a9cb681dfed3f8 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 24 Oct 2024 15:15:21 +0200
Subject: [PATCH] OZG-6867 OZG-7002 Extend ITCase

---
 ...SyncAddedOrganisationsEinheitenITCase.java | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/test/java/de/ozgcloud/admin/organisationseinheit/SyncAddedOrganisationsEinheitenITCase.java b/src/test/java/de/ozgcloud/admin/organisationseinheit/SyncAddedOrganisationsEinheitenITCase.java
index 9204b58d..ca1b0366 100644
--- a/src/test/java/de/ozgcloud/admin/organisationseinheit/SyncAddedOrganisationsEinheitenITCase.java
+++ b/src/test/java/de/ozgcloud/admin/organisationseinheit/SyncAddedOrganisationsEinheitenITCase.java
@@ -67,6 +67,20 @@ class SyncAddedOrganisationsEinheitenITCase {
 				.containsExactly(childLevel1.getName());
 	}
 
+	@Test
+	void shouldSynchronizeChildAddedToAlreadySynchronizedParent() {
+		var parent = topLevel("shouldSynchronizeChildAddedToAlreadySynchronizedParent");
+		syncOrganisationsEinheitToKeycloak(parent);
+		var childLevel1 = childLevel("shouldSynchronizeChildAddedToAlreadySynchronizedParent", parent);
+		operations.save(childLevel1);
+
+		service.syncAddedOrganisationsEinheiten(syncTimestamp);
+
+		assertThat(findGroupInKeycloak(parent.getName())).isPresent().get()
+				.extracting(Group::getSubGroups).asList().extracting("name")
+				.containsExactly(childLevel1.getName());
+	}
+
 	@Test
 	void shouldNotAddChildIfParentWasNotSynchronized() {
 		var topLevel = topLevel("shouldNotAddChildIfParentWasNotSynchronized");
@@ -106,4 +120,9 @@ class SyncAddedOrganisationsEinheitenITCase {
 				.filter(group -> groupName.equals(group.getName()))
 				.findFirst();
 	}
+
+	private void syncOrganisationsEinheitToKeycloak(OrganisationsEinheit organisationsEinheit) {
+		operations.save(organisationsEinheit);
+		service.syncAddedOrganisationsEinheiten(syncTimestamp);
+	}
 }
-- 
GitLab