Skip to content
Snippets Groups Projects
Commit 6785e6ae authored by OZGCloud's avatar OZGCloud
Browse files

OZG-5167: apply code review improvements

parent d385272f
Branches
Tags
No related merge requests found
Showing
with 30 additions and 54 deletions
......@@ -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',
......
......@@ -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', () => {
......
......@@ -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,
......
<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()"
......
......@@ -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();
......
......@@ -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();
}
......
......@@ -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();
......
......@@ -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();
......
......@@ -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);
}
}
}
......@@ -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();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment