From 92088fdafa1d7c8d425101278246c88673adfe22 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Malte=20Lauk=C3=B6tter?=
 <malte.laukoetter@digitalservice.bund.de>
Date: Tue, 21 Jan 2025 16:27:01 +0100
Subject: [PATCH] Add more nesting to DBServiceIntegrationTest

RISDEV-6261
---
 .../database/DBServiceIntegrationTest.java    | 170 +++++++++---------
 1 file changed, 87 insertions(+), 83 deletions(-)

diff --git a/backend/src/test/java/de/bund/digitalservice/ris/norms/integration/adapter/output/database/DBServiceIntegrationTest.java b/backend/src/test/java/de/bund/digitalservice/ris/norms/integration/adapter/output/database/DBServiceIntegrationTest.java
index 7ff83a5fd..aeb982bab 100644
--- a/backend/src/test/java/de/bund/digitalservice/ris/norms/integration/adapter/output/database/DBServiceIntegrationTest.java
+++ b/backend/src/test/java/de/bund/digitalservice/ris/norms/integration/adapter/output/database/DBServiceIntegrationTest.java
@@ -59,106 +59,110 @@ void cleanUp() {
     migrationLogRepository.deleteAll();
   }
 
-  @Test
-  void itFindsNormOnDB() {
-    // Given
-    var norm = Fixtures.loadNormFromDisk("SimpleNorm.xml");
-    dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
+  @Nested
+  class loadNorm {
 
-    // When
-    final Optional<Norm> normOptional = dbService.loadNorm(
-      new LoadNormPort.Command(
-        DokumentExpressionEli.fromString(
-          "eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu/regelungstext-1"
+    @Test
+    void itFindsNormOnDB() {
+      // Given
+      var norm = Fixtures.loadNormFromDisk("SimpleNorm.xml");
+      dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
+
+      // When
+      final Optional<Norm> normOptional = dbService.loadNorm(
+        new LoadNormPort.Command(
+          DokumentExpressionEli.fromString(
+            "eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu/regelungstext-1"
+          )
         )
-      )
-    );
+      );
 
-    // Then
-    assertThat(normOptional).isPresent().satisfies(normDb -> assertThat(normDb).contains(norm));
-  }
+      // Then
+      assertThat(normOptional).isPresent().satisfies(normDb -> assertThat(normDb).contains(norm));
+    }
 
-  @Test
-  void itFindsAllDokumenteOfNormOnDB() {
-    // Given
-    var norm = new Norm(
-      NormPublishState.UNPUBLISHED,
-      Set.of(
-        Fixtures.loadRegelungstextFromDisk("SimpleRegelungstext2.xml"),
-        Fixtures.loadRegelungstextFromDisk("SimpleNorm.xml")
-      )
-    );
-    dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
+    @Test
+    void itFindsAllDokumenteOfNormOnDB() {
+      // Given
+      var norm = new Norm(
+        NormPublishState.UNPUBLISHED,
+        Set.of(
+          Fixtures.loadRegelungstextFromDisk("SimpleRegelungstext2.xml"),
+          Fixtures.loadRegelungstextFromDisk("SimpleNorm.xml")
+        )
+      );
+      dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
 
-    // When
-    final Optional<Norm> normOptional = dbService.loadNorm(
-      new LoadNormPort.Command(
-        NormExpressionEli.fromString("eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu")
-      )
-    );
+      // When
+      final Optional<Norm> normOptional = dbService.loadNorm(
+        new LoadNormPort.Command(
+          NormExpressionEli.fromString("eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu")
+        )
+      );
 
-    // Then
-    assertThat(normOptional).isPresent();
-    assertThat(normOptional.get().getRegelungstexte()).hasSize(2);
-    assertThat(normOptional).contains(norm);
-  }
+      // Then
+      assertThat(normOptional).isPresent();
+      assertThat(normOptional.get().getRegelungstexte()).hasSize(2);
+      assertThat(normOptional).contains(norm);
+    }
 
-  @Test
-  void itFindsNormByManifestationEliWithoutPointInTimeManifestationOnDB() {
-    // Given
-    var norm = Fixtures.loadNormFromDisk("SimpleNorm.xml");
-    dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
+    @Test
+    void itFindsNormByManifestationEliWithoutPointInTimeManifestationOnDB() {
+      // Given
+      var norm = Fixtures.loadNormFromDisk("SimpleNorm.xml");
+      dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
 
-    // When
-    final Optional<Norm> normOptional = dbService.loadNorm(
-      new LoadNormPort.Command(
-        NormExpressionEli.fromString("eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu")
-      )
-    );
+      // When
+      final Optional<Norm> normOptional = dbService.loadNorm(
+        new LoadNormPort.Command(
+          NormExpressionEli.fromString("eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu")
+        )
+      );
 
-    // Then
-    assertThat(normOptional).isPresent().satisfies(normDb -> assertThat(normDb).contains(norm));
-  }
+      // Then
+      assertThat(normOptional).isPresent().satisfies(normDb -> assertThat(normDb).contains(norm));
+    }
 
-  @Test
-  void itFindsNormByManifestationEli() {
-    // Given
-    var norm = Fixtures.loadNormFromDisk("SimpleNorm.xml");
-    dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
+    @Test
+    void itFindsNormByManifestationEli() {
+      // Given
+      var norm = Fixtures.loadNormFromDisk("SimpleNorm.xml");
+      dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
 
-    // When
-    final Optional<Norm> normOptional = dbService.loadNorm(
-      new LoadNormPort.Command(
-        DokumentManifestationEli.fromString(
-          "eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu/1964-08-05/regelungstext-1.xml"
+      // When
+      final Optional<Norm> normOptional = dbService.loadNorm(
+        new LoadNormPort.Command(
+          DokumentManifestationEli.fromString(
+            "eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu/1964-08-05/regelungstext-1.xml"
+          )
         )
-      )
-    );
+      );
 
-    // Then
-    assertThat(normOptional).isPresent().satisfies(normDb -> assertThat(normDb).contains(norm));
-  }
+      // Then
+      assertThat(normOptional).isPresent().satisfies(normDb -> assertThat(normDb).contains(norm));
+    }
 
-  @Test
-  void itFindsNewestManifestationOfNorm() {
-    // Given
-    dokumentRepository.saveAll(
-      NormMapper.mapToDtos(Fixtures.loadNormFromDisk("NormWithoutPassiveModifications.xml"))
-    );
-    var norm = Fixtures.loadNormFromDisk("NormWithPassiveModifications.xml");
-    dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
+    @Test
+    void itFindsNewestManifestationOfNorm() {
+      // Given
+      dokumentRepository.saveAll(
+        NormMapper.mapToDtos(Fixtures.loadNormFromDisk("NormWithoutPassiveModifications.xml"))
+      );
+      var norm = Fixtures.loadNormFromDisk("NormWithPassiveModifications.xml");
+      dokumentRepository.saveAll(NormMapper.mapToDtos(norm));
 
-    // When
-    final Optional<Norm> normOptional = dbService.loadNorm(
-      new LoadNormPort.Command(
-        DokumentExpressionEli.fromString(
-          "eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu/regelungstext-1"
+      // When
+      final Optional<Norm> normOptional = dbService.loadNorm(
+        new LoadNormPort.Command(
+          DokumentExpressionEli.fromString(
+            "eli/bund/bgbl-1/1964/s593/1964-08-05/1/deu/regelungstext-1"
+          )
         )
-      )
-    );
+      );
 
-    // Then
-    assertThat(normOptional).isPresent().satisfies(normDb -> assertThat(normDb).contains(norm));
+      // Then
+      assertThat(normOptional).isPresent().satisfies(normDb -> assertThat(normDb).contains(norm));
+    }
   }
 
   @Nested