diff --git a/nachrichten-manager-interface/src/main/protobuf/antragraum.model.proto b/nachrichten-manager-interface/src/main/protobuf/antragraum.model.proto index 80234a7f435bc161ae2df951c7f0226d2503d9c9..fa1ef06aea7c96255623000b25acb0a1421d138a 100644 --- a/nachrichten-manager-interface/src/main/protobuf/antragraum.model.proto +++ b/nachrichten-manager-interface/src/main/protobuf/antragraum.model.proto @@ -50,6 +50,7 @@ message GrpcRueckfrage { string text = 7; repeated string attachmentFileId = 8; repeated GrpcRueckfrageAnswer answers = 9; + string vorgangNummer = 10; } message GrpcSendRueckfrageAnswerRequest { diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java index d0d7d8066877dcc53d98d4b97fd2de7588429791..3e10f0004cdf6859e59c8dd37927c04a2ede9b08 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java @@ -40,6 +40,7 @@ import org.springframework.stereotype.Service; import de.ozgcloud.nachrichten.NachrichtenManagerConfiguration; import de.ozgcloud.nachrichten.NachrichtenManagerProperties; +import de.ozgcloud.nachrichten.common.vorgang.Vorgang; import de.ozgcloud.nachrichten.common.vorgang.VorgangService; import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; @@ -122,12 +123,16 @@ public class AntragraumService { if (rueckfragen.isEmpty()) { return Stream.empty(); } - return addVorgangName(rueckfragen, rueckfragen.getFirst().getVorgangId()); + return addVorgangData(rueckfragen, rueckfragen.getFirst().getVorgangId()); } - Stream<Rueckfrage> addVorgangName(List<Rueckfrage> rueckfragen, String vorgangId) { + Stream<Rueckfrage> addVorgangData(List<Rueckfrage> rueckfragen, String vorgangId) { var vorgang = vorgangService.getVorgang(vorgangId); - return rueckfragen.stream().map(rueckfrage -> rueckfrage.toBuilder().vorgangName(vorgang.getName()).build()); + return rueckfragen.stream().map(rueckfrage -> addVorgangData(rueckfrage, vorgang)); + } + + private Rueckfrage addVorgangData(Rueckfrage rueckfrage, Vorgang vorgang) { + return rueckfrage.toBuilder().vorgangName(vorgang.getName()).vorgangNummer(vorgang.getNummer()).build(); } public String sendRueckfrageAnswer(String samlToken, String rueckfrageId, PostfachNachricht nachricht) { diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java index d9526d0badf420305fb2c8b34af3bfedc64c498a..acc18d8093e83d95447a6f8d63fa95e8b24ab1e9 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java @@ -15,6 +15,7 @@ class Rueckfrage { private String id; private String vorgangId; private String vorgangName; + private String vorgangNummer; private PostfachAddress postfachAddress; private ZonedDateTime sentAt; diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/Vorgang.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/Vorgang.java index 881bcaa9be2912afa4b5c4824489875bc60b42ca..6e3df04528c6d10ceddb2832d712dea41a3f2bf1 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/Vorgang.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/Vorgang.java @@ -9,4 +9,5 @@ public class Vorgang { private String id; private String name; + private String nummer; } \ No newline at end of file diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java index 8433d492e6c79d56cc689854aca408f5099ce80c..36523ddfe28228a5b7276c294dffcd500b2cea46 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java @@ -28,6 +28,7 @@ import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory; class AntragraumServiceTest { + @Spy @InjectMocks private AntragraumService service; @@ -202,14 +203,14 @@ class AntragraumServiceTest { @BeforeEach void mock() { - doReturn(Stream.of(RueckfrageTestFactory.create())).when(service).addVorgangName(any(), any()); + doReturn(Stream.of(RueckfrageTestFactory.create())).when(service).addVorgangData(any(), any()); } @Test - void shouldCallAddVorgangNameIfRueckfragenExists() { + void shouldCallAddVorgangDataIfRueckfragenExists() { service.enrichRueckfragen(rueckfragen); - verify(service).addVorgangName(Collections.singletonList(rueckfrageWithoutVorgangName), RueckfrageTestFactory.VORGANG_ID); + verify(service).addVorgangData(Collections.singletonList(rueckfrageWithoutVorgangName), RueckfrageTestFactory.VORGANG_ID); } @Test @@ -220,9 +221,9 @@ class AntragraumServiceTest { } } - @DisplayName("Add vorgang name") + @DisplayName("Add vorgang data") @Nested - class TestAddVorgangName { + class TestAddVorgangData { private final Rueckfrage rueckfrage = RueckfrageTestFactory.createBuilder() .vorgangName(null) @@ -235,20 +236,27 @@ class AntragraumServiceTest { @Test void shouldCallGetVorgang() { - addVorgangName().toList(); + addVorgangData().toList(); verify(vorgangService).getVorgang(RueckfrageTestFactory.VORGANG_ID); } @Test void shouldSetVorgangName() { - var rueckfragenWithVorgangName = addVorgangName().toList(); + var rueckfragenWithVorgangData = addVorgangData().toList(); + + assertThat(rueckfragenWithVorgangData.getFirst().getVorgangName()).isEqualTo(VorgangTestFactory.NAME); + } + + @Test + void shouldSetVorgangNummer() { + var rueckfragenWithVorgangData = addVorgangData().toList(); - assertThat(rueckfragenWithVorgangName.getFirst().getVorgangName()).isEqualTo(VorgangTestFactory.NAME); + assertThat(rueckfragenWithVorgangData.getFirst().getVorgangNummer()).isEqualTo(VorgangTestFactory.NUMMER); } - private Stream<Rueckfrage> addVorgangName() { - return service.addVorgangName(Collections.singletonList(rueckfrage), RueckfrageTestFactory.VORGANG_ID); + private Stream<Rueckfrage> addVorgangData() { + return service.addVorgangData(Collections.singletonList(rueckfrage), RueckfrageTestFactory.VORGANG_ID); } } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/GrpcVorgangWithEingangTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/GrpcVorgangWithEingangTestFactory.java index 80e47d727ced49a1e22d2e6441d36d9bf063dae4..cd089671dd93144c8833bbb133e7f41e6453ea39 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/GrpcVorgangWithEingangTestFactory.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/GrpcVorgangWithEingangTestFactory.java @@ -11,6 +11,7 @@ public class GrpcVorgangWithEingangTestFactory { public static GrpcVorgangWithEingang.Builder createBuilder() { return GrpcVorgangWithEingang.newBuilder() .setId(VorgangTestFactory.ID) - .setName(VorgangTestFactory.NAME); + .setName(VorgangTestFactory.NAME) + .setNummer(VorgangTestFactory.NUMMER); } } diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangTestFactory.java index cf1a3392ca1a68594fe6471921153747a157ea8d..48ef6e441a5be6163176a1d3c34496268053b0d1 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangTestFactory.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangTestFactory.java @@ -8,6 +8,7 @@ public class VorgangTestFactory { public static final String ID = UUID.randomUUID().toString(); public static final String NAME = LoremIpsum.getInstance().getWords(5); + public static final String NUMMER = LoremIpsum.getInstance().getWords(3); public static Vorgang create() { return createBuilder().build(); @@ -16,6 +17,7 @@ public class VorgangTestFactory { public static Vorgang.VorgangBuilder createBuilder() { return Vorgang.builder() .id(ID) - .name(NAME); + .name(NAME) + .nummer(NUMMER); } }