From 6785e6ae3c1fc8ff99992152661ea6c75be40f60 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 25 Apr 2024 15:09:21 +0200 Subject: [PATCH] OZG-5167: apply code review improvements --- .../src/lib/bescheid.linkrel.ts | 4 +-- .../src/lib/bescheid.util.spec.ts | 4 +-- .../bescheid-shared/src/lib/bescheid.util.ts | 4 +-- ...cheid-automatisch-erstellen.component.html | 2 +- ...id-automatisch-erstellen.component.spec.ts | 4 +-- .../alfa/bescheid/BescheidModelAssembler.java | 8 ++--- .../bescheid/BescheidModelAssemblerTest.java | 32 ++++--------------- .../bescheid/BescheidRemoteServiceTest.java | 2 +- .../alfa/bescheid/BescheidServiceTest.java | 20 ++++++------ ...cheidManagerConfigResponseTestFactory.java | 4 --- 10 files changed, 30 insertions(+), 54 deletions(-) diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.linkrel.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.linkrel.ts index 6dc9c2abe8..e964530ec1 100644 --- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.linkrel.ts +++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.linkrel.ts @@ -3,8 +3,8 @@ export enum BescheidLinkRel { UPLOAD_BESCHEID_FILE = 'uploadBescheidFile', UPLOAD_ATTACHMENT = 'uploadAttachment', UPDATE = 'update', - CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY = 'createBescheidDocumentAutomatically', - CREATE_BESCHEID_DOCUMENT_FROM_FILE = 'createBescheidDocumentFromFile', + CREATE_DOCUMENT = 'createDocument', + CREATE_DOCUMENT_FROM_FILE = 'createDocumentFromFile', ATTACHMENTS = 'attachments', BESCHEID_DOCUMENT = 'bescheidDocument', SEND = 'send', diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.util.spec.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.util.spec.ts index 1ce5001079..a6ba051915 100644 --- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.util.spec.ts +++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.util.spec.ts @@ -66,7 +66,7 @@ describe('BescheidUtil', () => { binaryFileResource, ); - expect(props.linkRel).toBe(BescheidLinkRel.CREATE_BESCHEID_DOCUMENT_FROM_FILE); + expect(props.linkRel).toBe(BescheidLinkRel.CREATE_DOCUMENT_FROM_FILE); }); describe('command', () => { @@ -195,7 +195,7 @@ describe('BescheidUtil', () => { it('should have linkRel', () => { const props: CreateCommandProps = buildCreateBescheidDocumentCommandProps(bescheidResource); - expect(props.linkRel).toBe(BescheidLinkRel.CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY); + expect(props.linkRel).toBe(BescheidLinkRel.CREATE_DOCUMENT); }); describe('command', () => { diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.util.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.util.ts index 867aeb37ad..ee496fe136 100644 --- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.util.ts +++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.util.ts @@ -28,7 +28,7 @@ export function buildCreateBescheidDocumentFromFileProps( ): CreateCommandProps { return { resource: bescheid, - linkRel: BescheidLinkRel.CREATE_BESCHEID_DOCUMENT_FROM_FILE, + linkRel: BescheidLinkRel.CREATE_DOCUMENT_FROM_FILE, command: buildCreateBescheidDocumentFromFileCommand(binaryFile), snackBarMessage: EMPTY_STRING, }; @@ -67,7 +67,7 @@ export function buildCreateBescheidDocumentCommandProps( ): CreateCommandProps { return { resource, - linkRel: BescheidLinkRel.CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY, + linkRel: BescheidLinkRel.CREATE_DOCUMENT, command: { order: CommandOrder.CREATE_BESCHEID_DOCUMENT, body: null, 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-dokumente-hinzufuegen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen.component.html 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-dokumente-hinzufuegen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen.component.html index 18f52e0962..0755d97403 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-dokumente-hinzufuegen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen.component.html +++ 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-dokumente-hinzufuegen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen.component.html @@ -1,7 +1,7 @@ <ng-container *ngIf="bescheidDraftStateResource.resource as bescheidDraft"> <div class="mt-4"> <ods-button - *ngIf="bescheidDraft | hasLink: bescheidLinkRel.CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY" + *ngIf="bescheidDraft | hasLink: bescheidLinkRel.CREATE_DOCUMENT" class="w-72" [isLoading]="(createBescheidDocumentInProgress$ | async).loading" (click)="createBescheidDocument()" 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-dokumente-hinzufuegen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen.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-dokumente-hinzufuegen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen.component.spec.ts index f9c5fc06dc..79731c5661 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-dokumente-hinzufuegen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen.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-dokumente-hinzufuegen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen/vorgang-detail-bescheiden-bescheid-automatisch-erstellen.component.spec.ts @@ -60,7 +60,7 @@ describe('VorgangDetailBescheidenBescheidAutomatischErstellenComponent', () => { describe('create bescheid document button', () => { beforeEach(() => { component.bescheidDraftStateResource = createStateResource( - createBescheidResource([BescheidLinkRel.CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY]), + createBescheidResource([BescheidLinkRel.CREATE_DOCUMENT]), ); fixture.detectChanges(); @@ -81,7 +81,7 @@ describe('VorgangDetailBescheidenBescheidAutomatischErstellenComponent', () => { it('should be visible if link is present', () => { component.bescheidDraftStateResource = createStateResource( - createBescheidResource([BescheidLinkRel.CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY]), + createBescheidResource([BescheidLinkRel.CREATE_DOCUMENT]), ); fixture.detectChanges(); diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/BescheidModelAssembler.java b/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/BescheidModelAssembler.java index cae792c048..8ebf3d388d 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/BescheidModelAssembler.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/bescheid/BescheidModelAssembler.java @@ -23,8 +23,8 @@ public class BescheidModelAssembler implements RepresentationModelAssembler<Besc static final String REL_UPLOAD_ATTACHMENT = "uploadAttachment"; static final String REL_ATTACHMENTS = "attachments"; static final String REL_UPDATE = "update"; - static final String REL_CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY = "createBescheidDocumentAutomatically"; - static final String REL_CREATE_BESCHEID_DOCUMENT_FROM_FILE = "createBescheidDocumentFromFile"; + static final String REL_CREATE_DOCUMENT = "createDocument"; + static final String REL_CREATE_DOCUMENT_FROM_FILE = "createDocumentFromFile"; static final String REL_BESCHEID_DOCUMENT = "bescheidDocument"; static final String REL_SEND = "send"; @@ -53,8 +53,8 @@ public class BescheidModelAssembler implements RepresentationModelAssembler<Besc .addLink(attachmentsLink.withRel(REL_ATTACHMENTS)) .addLink(createCommandLink.withRel(REL_UPDATE)) .ifMatch(bescheidService::canCreateBescheidDocumentAutomatically) - .addLink(createCommandLink.withRel(REL_CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY)) - .addLink(createCommandLink.withRel(REL_CREATE_BESCHEID_DOCUMENT_FROM_FILE)) + .addLink(createCommandLink.withRel(REL_CREATE_DOCUMENT)) + .addLink(createCommandLink.withRel(REL_CREATE_DOCUMENT_FROM_FILE)) .addLink(createCommandLink.withRel(REL_SEND)) .buildModel(); } diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidModelAssemblerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidModelAssemblerTest.java index c423e4b2d1..450d840af3 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidModelAssemblerTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidModelAssemblerTest.java @@ -16,7 +16,6 @@ import org.mockito.Spy; import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.IanaLinkRelations; import org.springframework.hateoas.Link; -import org.springframework.hateoas.LinkRelation; import org.springframework.web.util.UriTemplate; import de.ozgcloud.alfa.common.command.CommandController; @@ -95,29 +94,29 @@ class BescheidModelAssemblerTest { } @Test - void shouldHaveCreateBescheidDocumentAutomaticallyLink() { + void shouldHaveCreateDocumentLink() { when(bescheidService.canCreateBescheidDocumentAutomatically()).thenReturn(true); var model = callToModel(); - assertThat(model.getLink(REL_CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY)).isPresent().get().extracting(Link::getHref) + assertThat(model.getLink(REL_CREATE_DOCUMENT)).isPresent().get().extracting(Link::getHref) .isEqualTo(createCommandLink()); } @Test - void shoulNotdHaveCreateBescheidDocumentAutomaticallyLink() { + void shoulNotdHaveCreateDocumentLink() { when(bescheidService.canCreateBescheidDocumentAutomatically()).thenReturn(false); var model = callToModel(); - assertThat(model.getLink(REL_CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY)).isEmpty(); + assertThat(model.getLink(REL_CREATE_DOCUMENT)).isEmpty(); } @Test - void shouldHaveCreateBescheidDocumentFromFileLink() { + void shouldHaveCreateDocumentFromFileLink() { var model = callToModel(); - assertThat(model.getLink(REL_CREATE_BESCHEID_DOCUMENT_FROM_FILE)).isPresent().get().extracting(Link::getHref) + assertThat(model.getLink(REL_CREATE_DOCUMENT_FROM_FILE)).isPresent().get().extracting(Link::getHref) .isEqualTo(createCommandLink()); } @@ -137,25 +136,6 @@ class BescheidModelAssemblerTest { .isEqualTo(String.format("%s/%s", DocumentController.PATH, BescheidTestFactory.BESCHEID_DOCUMENT)); } - @Test - void shouldHaveOnlyExpectedLinks() { - when(bescheidService.canCreateBescheidDocumentAutomatically()).thenReturn(true); - - var model = callToModel(); - - assertThat(model.getLinks()).extracting(Link::getRel).containsExactlyInAnyOrder( - IanaLinkRelations.SELF, - LinkRelation.of(REL_DELETE), - LinkRelation.of(REL_UPLOAD_BESCHEID_FILE), - LinkRelation.of(REL_UPLOAD_ATTACHMENT), - LinkRelation.of(REL_ATTACHMENTS), - LinkRelation.of(REL_UPDATE), - LinkRelation.of(REL_CREATE_BESCHEID_DOCUMENT_AUTOMATICALLY), - LinkRelation.of(REL_CREATE_BESCHEID_DOCUMENT_FROM_FILE), - LinkRelation.of(REL_BESCHEID_DOCUMENT), - LinkRelation.of(REL_SEND)); - } - @Test void shouldHaveSendLink() { var model = callToModel(); diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidRemoteServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidRemoteServiceTest.java index d08fe3d917..1a60e85c32 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidRemoteServiceTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidRemoteServiceTest.java @@ -148,7 +148,7 @@ class BescheidRemoteServiceTest { @Test void shouldReturnFalseIfNoFeaturesAvailable() { - when(bescheidServiceStub.getConfig(request)).thenReturn(GrpcBescheidManagerConfigResponseTestFactory.empty()); + when(bescheidServiceStub.getConfig(request)).thenReturn(GrpcBescheidManagerConfigResponse.newBuilder().build()); var canCreate = service.canCreateBescheidDocument(); diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidServiceTest.java index 74dc8384f1..53b89afb96 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidServiceTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/BescheidServiceTest.java @@ -7,6 +7,8 @@ import java.util.Optional; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Spy; @@ -46,22 +48,20 @@ class BescheidServiceTest { class TestCanCreateBescheidDocumentAutomatically { @Test - void shouldReturnTrue() { - when(remoteService.canCreateBescheidDocument()).thenReturn(true); - - var canCreateAutomatically = service.canCreateBescheidDocumentAutomatically(); + void shouldCallRemoteService() { + service.canCreateBescheidDocumentAutomatically(); - assertThat(canCreateAutomatically).isTrue(); + verify(remoteService).canCreateBescheidDocument(); } - @Test - void shouldReturnFalse() { - when(remoteService.canCreateBescheidDocument()).thenReturn(false); + @ParameterizedTest + @ValueSource(booleans = { true, false }) + void shouldRetrun(boolean canCreateBescheidDocument) { + when(remoteService.canCreateBescheidDocument()).thenReturn(canCreateBescheidDocument); var canCreateAutomatically = service.canCreateBescheidDocumentAutomatically(); - assertThat(canCreateAutomatically).isFalse(); - + assertThat(canCreateAutomatically).isEqualTo(canCreateBescheidDocument); } } } diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/GrpcBescheidManagerConfigResponseTestFactory.java b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/GrpcBescheidManagerConfigResponseTestFactory.java index d15b8aea1d..72a9bcb5fe 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/GrpcBescheidManagerConfigResponseTestFactory.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/bescheid/GrpcBescheidManagerConfigResponseTestFactory.java @@ -4,10 +4,6 @@ import de.ozgcloud.bescheid.GrpcBescheidManagerConfigResponse; public class GrpcBescheidManagerConfigResponseTestFactory { - public static GrpcBescheidManagerConfigResponse empty() { - return GrpcBescheidManagerConfigResponse.newBuilder().build(); - } - public static GrpcBescheidManagerConfigResponse create() { return createBuilder().build(); } -- GitLab