diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.spec.ts index 6badf72f68d20175d5508cea4bdd920f2b4b96cf..3c25ac7106362d46c7ebfa79889a8e5aa9195a67 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result.component.spec.ts @@ -39,7 +39,7 @@ describe('VorgangDetailBescheidenResultComponent', () => { const bescheidStatus: string = getDataTestIdOf('bescheid-status'); const bescheidDocument: string = getDataTestIdOf('bescheid-document'); const bescheidAttachments: string = getDataTestIdOf('bescheid-attachments'); - const saveAndSendButton: string = getDataTestIdOf('save-and-send-button'); + const saveAndSendButton: string = getDataTestIdOf('confirm-and-save-button'); const sendButton: string = getDataTestIdOf('send-button'); const nachrichtAntragstellerComponent = getDataTestIdOf('bescheid-nachricht-an-antragsteller'); diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component.spec.ts index 25c0e448524890fb9da2c030e2bd304201a2da44..f15fd12dd413bbc498e3e9ea9a62bd035b514707 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-bescheid-versenden/vorgang-detail-bescheiden-bescheid-versenden.component.spec.ts @@ -25,7 +25,7 @@ describe('VorgangDetailBescheidenBescheidVersendenComponent', () => { let formService: BescheidenFormService; const sendToAntragstellerButtonTestId: string = getDataTestIdOf('send-to-antragsteller-button'); - const saveAndSendButtonTestId: string = getDataTestIdOf('save-and-send-button'); + const saveAndSendButtonTestId: string = getDataTestIdOf('save-button'); beforeEach(async () => { bescheidService = mock(BescheidService); diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/Bescheid.java b/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/Bescheid.java index 2a6cd64e1c1c8e7666266046738116ca93a3c402..67cb7eb4c7f5432aa2433a65b784c788f4b9869c 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/Bescheid.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/Bescheid.java @@ -1,6 +1,5 @@ package de.ozgcloud.alfa.bescheid; -import java.time.ZonedDateTime; import java.util.List; import jakarta.validation.constraints.NotNull; @@ -12,7 +11,6 @@ import de.ozgcloud.alfa.common.ValidationMessageCodes; import de.ozgcloud.alfa.common.binaryfile.BinaryFileController; import de.ozgcloud.alfa.common.binaryfile.FileId; import de.ozgcloud.alfa.common.command.CommandBody; -import de.ozgcloud.alfa.common.user.UserId; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Builder; @@ -60,6 +58,5 @@ public class Bescheid implements CommandBody { private SendBy sendBy; private BescheidStatus status; - private ZonedDateTime sentAt; - private UserId sentBy; + private SentInfo sentInfo; } \ No newline at end of file diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/BescheidMapper.java b/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/BescheidMapper.java index fae3b7e88dd5537f7b277078a4b8c32aabb8165f..18609a3e02a160c36a6bff251093faf42ac17c43 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/BescheidMapper.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/BescheidMapper.java @@ -16,14 +16,16 @@ import de.ozgcloud.alfa.common.binaryfile.FileIdMapper; import de.ozgcloud.alfa.common.user.UserId; import de.ozgcloud.bescheid.GrpcBescheid; -@Mapper(unmappedTargetPolicy = ReportingPolicy.ERROR, nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = FileIdMapper.class, imports = { - ZonedDateTime.class, UserId.class, UUID.class }) +@Mapper(unmappedTargetPolicy = ReportingPolicy.ERROR, nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = FileIdMapper.class) interface BescheidMapper { @Mapping(target = "attachments", source = "grpcBescheid.attachmentsList") - @Mapping(target = "sentBy", expression = "java(UserId.from(UUID.randomUUID().toString()))") - @Mapping(target = "sentAt", expression = "java(ZonedDateTime.now())") + @Mapping(target = "sentInfo", expression = "java(sentInfoDummyMapping())") Bescheid fromGrpc(GrpcBescheid grpcBescheid, String vorgangId); List<FileId> fromProtocolStringList(ProtocolStringList value); + + default SentInfo sentInfoDummyMapping() { + return SentInfo.builder().sentBy(UserId.from(UUID.randomUUID().toString())).sentAt(ZonedDateTime.now()).build(); + } } diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/SentInfo.java b/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/SentInfo.java new file mode 100644 index 0000000000000000000000000000000000000000..486b692cda613b6c18f6fed75e126b779234a077 --- /dev/null +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/SentInfo.java @@ -0,0 +1,15 @@ +package de.ozgcloud.alfa.bescheid; + +import java.time.ZonedDateTime; + +import de.ozgcloud.alfa.common.user.UserId; +import lombok.Builder; +import lombok.Getter; + +@Builder +@Getter +public class SentInfo { + + private ZonedDateTime sentAt; + private UserId sentBy; +} diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidTestFactory.java b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidTestFactory.java index b0c82ab4ba5e104552c878b0fed7c4ce617b1a72..55c6be1a2e8a53828688b492fd815d6c92bbcd3b 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidTestFactory.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidTestFactory.java @@ -1,6 +1,5 @@ package de.ozgcloud.alfa.bescheid; -import java.time.ZonedDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -9,8 +8,6 @@ import java.util.UUID; import com.thedeanda.lorem.LoremIpsum; import de.ozgcloud.alfa.common.binaryfile.FileId; -import de.ozgcloud.alfa.common.user.UserId; -import de.ozgcloud.alfa.common.user.UserProfileTestFactory; import de.ozgcloud.alfa.vorgang.VorgangHeaderTestFactory; public class BescheidTestFactory { @@ -26,9 +23,7 @@ public class BescheidTestFactory { public static final String NACHRICHT_TEXT = LoremIpsum.getInstance().getWords(10); public static final String NACHRICHT_SUBJECT = LoremIpsum.getInstance().getWords(3); public static final SendBy SEND_BY = SendBy.MANUAL; - - public static final ZonedDateTime SENT_AT = ZonedDateTime.now(); - public static final UserId SENT_BY = UserProfileTestFactory.ID; + public static final SentInfo SENT_INFO = SentInfoTestFactory.create(); public static Bescheid.BescheidBuilder createBuilder() { return Bescheid.builder() @@ -43,8 +38,7 @@ public class BescheidTestFactory { .nachrichtText(NACHRICHT_TEXT) .nachrichtSubject(NACHRICHT_SUBJECT) .sendBy(SEND_BY) - .sentAt(SENT_AT) - .sentBy(SENT_BY); + .sentInfo(SENT_INFO); } public static Bescheid create() { diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/SentInfoTestFactory.java b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/SentInfoTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..e7d5f826f2518ca17801dcabae6bc0d1695e5347 --- /dev/null +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/SentInfoTestFactory.java @@ -0,0 +1,22 @@ +package de.ozgcloud.alfa.bescheid; + +import java.time.ZonedDateTime; + +import de.ozgcloud.alfa.common.user.UserId; +import de.ozgcloud.alfa.common.user.UserProfileTestFactory; + +public class SentInfoTestFactory { + + public static final ZonedDateTime SENT_AT = ZonedDateTime.now(); + public static final UserId SENT_BY = UserProfileTestFactory.ID; + + public static SentInfo create() { + return createBuilder().build(); + } + + public static SentInfo.SentInfoBuilder createBuilder() { + return SentInfo.builder() + .sentAt(SENT_AT) + .sentBy(SENT_BY); + } +} diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilder.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilder.java index c9ae54d3bdc9641f92096d5d7d8c3d60c0e470c0..4a049e49cd45a920d3f64a456ace9351348bc4a3 100644 --- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilder.java +++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilder.java @@ -72,7 +72,7 @@ class DokumentTypeBuilder { var protokollInfo = new HistorienProtokollInformationType(); protokollInfo.setMetadatumName(StringUtils.defaultString(bescheid.getNachrichtText())); protokollInfo.setAkteur(fullName + "; " + organisationsEinheitenId); - protokollInfo.setDatumUhrzeit(DateConverter.toXmlGregorianCalendar(bescheid.getSentAt())); + protokollInfo.setDatumUhrzeit(DateConverter.toXmlGregorianCalendar(bescheid.getSentInfo().getSentAt())); protokollInfo.setAktion(AKTION.get(bescheid.getSendBy())); return protokollInfo; } diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/ExportBescheidService.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/ExportBescheidService.java index 92db15a12acffaa1394cbac4b98ad5229dea420c..bdac750f71c68402fbec3be070fa3dccacad4b2e 100644 --- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/ExportBescheidService.java +++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/ExportBescheidService.java @@ -60,7 +60,7 @@ public class ExportBescheidService { } String getFullName(Bescheid bescheid) { - return userService.getById(bescheid.getSentBy()).getFullName(); + return userService.getById(bescheid.getSentInfo().getSentBy()).getFullName(); } } diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java index 6f3a8737b4c7ed0e165c54773f18506d820abb18..5ca01628405e55797a2a0e0f7c3dbcad41adc181 100644 --- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java +++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java @@ -217,7 +217,7 @@ class DokumentTypeBuilderTest { void shouldHaveDatumUhrzeit() { var protokollInfo = builder.createHistorienProtokollInformation(); - assertThat(protokollInfo.getDatumUhrzeit()).isEqualTo(DateConverter.toXmlGregorianCalendar(BescheidTestFactory.SENT_AT)); + assertThat(protokollInfo.getDatumUhrzeit()).isEqualTo(DateConverter.toXmlGregorianCalendar(SentInfoTestFactory.SENT_AT)); } @Test diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java index b72a3e8e048f1682474928ea2bdd8a0ee760a744..2e7e49d9c3f89f7df2aafdcdf9fee34077208bf5 100644 --- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java +++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java @@ -399,14 +399,14 @@ class ExportBescheidServiceTest { @BeforeEach void mockUserService() { - when(userService.getById(bescheid.getSentBy())).thenReturn(userProfile); + when(userService.getById(SentInfoTestFactory.SENT_BY)).thenReturn(userProfile); } @Test void shouldCallUserServiceGetbyId() { callService(); - verify(userService).getById(BescheidTestFactory.SENT_BY); + verify(userService).getById(SentInfoTestFactory.SENT_BY); } @Test