diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.html index db9307187ec8c100d91ff2c2ffc7b99dd22fc5e2..4b6a5edec76e6372f0bc4f2665b8fccb8bd4e637 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.html +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.html @@ -1,12 +1,10 @@ -@if (bescheidResource | hasLink: BescheidLinkRel.CREATE_DOCUMENT) { - <ods-button-card - class="w-full max-w-72" - [isLoading]="bescheidDocument.create.loading" - (click)="clickEmitter.emit()" - text="Bescheiddokument" - subText="automatisch erstellen" - data-test-id="create-bescheid-document-button" - > - <ods-bescheid-generate-icon icon /> - </ods-button-card> -} +<ods-button-card + class="w-full max-w-72" + [isLoading]="bescheidDocument.create.loading" + (click)="clickEmitter.emit()" + text="Bescheiddokument" + subText="automatisch erstellen" + data-test-id="create-bescheid-document-button" +> + <ods-bescheid-generate-icon icon /> +</ods-button-card> diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.spec.ts index 0870d4c34bd3f5dab6ae510dfe171877bc700590..9473e81b5c48467f07cead6babee0a53cfb51a21 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.spec.ts +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.spec.ts @@ -1,13 +1,6 @@ import { BescheidDocument, BescheidLinkRel, createEmptyBescheidDocument } from '@alfa-client/bescheid-shared'; import { HasLinkPipe } from '@alfa-client/tech-shared'; -import { - existsAsHtmlElement, - getElementComponentFromFixtureByCss, - mock, - Mock, - notExistsAsHtmlElement, - triggerEvent, -} from '@alfa-client/test-utils'; +import { existsAsHtmlElement, getElementComponentFromFixtureByCss, mock, Mock, triggerEvent } from '@alfa-client/test-utils'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BescheidGenerateIconComponent, ButtonCardComponent } from '@ods/system'; import { MockComponent } from 'ng-mocks'; @@ -73,21 +66,11 @@ describe('BescheidWizardAutomatischErstellenButtonComponent', () => { describe('template', () => { describe('create button', () => { it('should exists', () => { - component.bescheidResource = createBescheidResource([BescheidLinkRel.CREATE_DOCUMENT]); - fixture.detectChanges(); existsAsHtmlElement(fixture, createButtonTestId); }); - it('should NOT exists', () => { - component.bescheidResource = createBescheidResource(); - - fixture.detectChanges(); - - notExistsAsHtmlElement(fixture, createButtonTestId); - }); - it('should have been called with inputs', () => { component.bescheidResource = createBescheidResource([BescheidLinkRel.CREATE_DOCUMENT]); component.bescheidDocument = bescheidDocument; diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.ts index 083aec95ac2ddd1d4b030e8ab57a3baf6b55f72e..5f268e460848a0e76c756106f1ead4a4fcee10fb 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.ts +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/create-document-button-container/create-document-button/bescheid-wizard-create-document-button.component.ts @@ -8,7 +8,6 @@ import { BescheidFormService } from '../../../bescheid.formservice'; }) export class BescheidWizardCreateDocumentButtonComponent { @Input() bescheidResource: BescheidResource; - @Input() set bescheidDocument(value: BescheidDocument) { this._bescheidDocument = value; this.formService.updateBescheidDocumentFile(value.documentUri); diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.html index fd2a2ab6c43b6e00ba06a0347278e2ab53b0c5aa..edd8aff832236fb11a9b372a47c40f4bbb8d06d3 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.html +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.html @@ -24,23 +24,29 @@ --> <div class="mt-4 flex flex-col gap-4"> - <alfa-bescheid-wizard-create-document-button-container - [bescheidResource]="bescheidResource" - data-test-id="create-document-button" - ></alfa-bescheid-wizard-create-document-button-container> - <alfa-bescheid-wizard-upload-document-button-container - [bescheidResource]="bescheidResource" - data-test-id="upload-document-button" - ></alfa-bescheid-wizard-upload-document-button-container> - <alfa-bescheid-wizard-upload-attachment-button-container - [bescheidResource]="bescheidResource" - data-test-id="upload-attachment-button" - ></alfa-bescheid-wizard-upload-attachment-button-container> - @if (bescheidResource | hasLink: bescheidLinkRel.UPDATE) { + @if (bescheidResource | hasLink: BescheidLinkRel.CREATE_DOCUMENT) { + <alfa-bescheid-wizard-create-document-button-container + [bescheidResource]="bescheidResource" + data-test-id="create-document-button" + /> + } + @if (bescheidResource | hasLink: BescheidLinkRel.UPLOAD_BESCHEID_FILE) { + <alfa-bescheid-wizard-upload-document-button-container + [bescheidResource]="bescheidResource" + data-test-id="upload-document-button" + /> + } + @if (bescheidResource | hasLink: BescheidLinkRel.UPLOAD_ATTACHMENT) { + <alfa-bescheid-wizard-upload-attachment-button-container + [bescheidResource]="bescheidResource" + data-test-id="upload-attachment-button" + /> + } + @if (bescheidResource | hasLink: BescheidLinkRel.UPDATE) { <alfa-bescheid-wizard-weiter-button [submitStateResource]="submitStateResource$ | async" (clickEmitter)="gotoNextStep()" data-test-id="weiter-button" - ></alfa-bescheid-wizard-weiter-button> + /> } </div> diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.spec.ts index 02452fe302b69a044cef2cf621ea5a1e5734d6c2..80a36774ef2e1a48ee8bede126a5e46d633ba115 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.spec.ts +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.spec.ts @@ -21,10 +21,10 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { BescheidDocument, BescheidLinkRel, createEmptyBescheidDocument } from '@alfa-client/bescheid-shared'; +import { BescheidDocument, BescheidLinkRel, BescheidResource, createEmptyBescheidDocument } from '@alfa-client/bescheid-shared'; import { CommandResource } from '@alfa-client/command-shared'; import { HasLinkPipe, StateResource } from '@alfa-client/tech-shared'; -import { existsAsHtmlElement, getElementComponentFromFixtureByCss, mock, Mock, notExistsAsHtmlElement, triggerEvent, } from '@alfa-client/test-utils'; +import { existsAsHtmlElement, getMockComponent, mock, Mock, notExistsAsHtmlElement, triggerEvent } from '@alfa-client/test-utils'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MockComponent } from 'ng-mocks'; import { EMPTY, of } from 'rxjs'; @@ -129,59 +129,92 @@ describe('BescheidWizardDokumenteHochladenFormComponent', () => { describe('template', () => { describe('create document button', () => { - it('should exists', () => { + const bescheidResourceWithLink: BescheidResource = createBescheidResource([BescheidLinkRel.CREATE_DOCUMENT]); + + it('should be visible if link is present', () => { + component.bescheidResource = bescheidResourceWithLink; + + fixture.detectChanges(); + existsAsHtmlElement(fixture, createDocumentButtonTestId); }); - it('should have been called with inputs', () => { + it('should hide if link is missing', () => { component.bescheidResource = createBescheidResource(); fixture.detectChanges(); - const createDocumentButton: BescheidWizardCreateDocumentButtonContainerComponent = - getElementComponentFromFixtureByCss<BescheidWizardCreateDocumentButtonContainerComponent>( - fixture, - createDocumentButtonTestId, - ); - expect(createDocumentButton.bescheidResource).toEqual(component.bescheidResource); + notExistsAsHtmlElement(fixture, createDocumentButtonTestId); + }); + + it('should have been called with inputs', () => { + component.bescheidResource = bescheidResourceWithLink; + + fixture.detectChanges(); + + expect(getMockComponent(fixture, BescheidWizardCreateDocumentButtonContainerComponent).bescheidResource).toEqual( + bescheidResourceWithLink, + ); }); }); describe('upload document button', () => { - it('should exists', () => { + const bescheidResourceWithLink: BescheidResource = createBescheidResource([BescheidLinkRel.UPLOAD_BESCHEID_FILE]); + + it('should be visible if link is present', () => { + component.bescheidResource = bescheidResourceWithLink; + + fixture.detectChanges(); + existsAsHtmlElement(fixture, uploadDocumentButtonTestId); }); - it('should have been called with inputs', () => { + it('should hide if link is missing', () => { component.bescheidResource = createBescheidResource(); fixture.detectChanges(); - const uploadDocumentButton: BescheidWizardUploadDocumentButtonContainerComponent = - getElementComponentFromFixtureByCss<BescheidWizardUploadDocumentButtonContainerComponent>( - fixture, - uploadDocumentButtonTestId, - ); - expect(uploadDocumentButton.bescheidResource).toEqual(component.bescheidResource); + notExistsAsHtmlElement(fixture, uploadDocumentButtonTestId); + }); + + it('should have been called with inputs', () => { + component.bescheidResource = bescheidResourceWithLink; + + fixture.detectChanges(); + + expect(getMockComponent(fixture, BescheidWizardUploadDocumentButtonContainerComponent).bescheidResource).toEqual( + bescheidResourceWithLink, + ); }); }); describe('upload attachment button', () => { - it('should exists', () => { + const bescheidResourceWithLink: BescheidResource = createBescheidResource([BescheidLinkRel.UPLOAD_ATTACHMENT]); + + it('should be visible if link is present', () => { + component.bescheidResource = bescheidResourceWithLink; + + fixture.detectChanges(); + existsAsHtmlElement(fixture, uploadAttachmentButtonTestId); }); - it('should have been called with inputs', () => { + it('should hide if link is missing', () => { component.bescheidResource = createBescheidResource(); fixture.detectChanges(); - const uploadAttachmentButton: BescheidWizardUploadAttachmentButtonContainerComponent = - getElementComponentFromFixtureByCss<BescheidWizardUploadAttachmentButtonContainerComponent>( - fixture, - uploadDocumentButtonTestId, - ); - expect(uploadAttachmentButton.bescheidResource).toEqual(component.bescheidResource); + notExistsAsHtmlElement(fixture, uploadAttachmentButtonTestId); + }); + + it('should have been called with inputs', () => { + component.bescheidResource = bescheidResourceWithLink; + + fixture.detectChanges(); + + expect(getMockComponent(fixture, BescheidWizardUploadAttachmentButtonContainerComponent).bescheidResource).toEqual( + bescheidResourceWithLink, + ); }); }); @@ -208,11 +241,8 @@ describe('BescheidWizardDokumenteHochladenFormComponent', () => { component.bescheidResource = createBescheidResource([BescheidLinkRel.UPDATE]); fixture.detectChanges(); - const weiterButton: BescheidWizardWeiterButtonComponent = - getElementComponentFromFixtureByCss<BescheidWizardWeiterButtonComponent>(fixture, weiterButtonTestId); - component.submitStateResource$.subscribe(); - expect(weiterButton.submitStateResource).toEqual(commandStateResource); + expect(getMockComponent(fixture, BescheidWizardWeiterButtonComponent).submitStateResource).toEqual(commandStateResource); }); describe('output', () => { diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.ts index d09a24bce3dfd8a65dac3470147f42fff00aeda9..0aafb95573f07d4e36e93e6cb238671cef610816 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.ts +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen-container/form/bescheid-wizard-dokumente-hochladen-form.component.ts @@ -53,7 +53,7 @@ export class BescheidWizardDokumenteHochladenFormComponent { private _bescheidDocument: BescheidDocument; - protected readonly bescheidLinkRel = BescheidLinkRel; + protected readonly BescheidLinkRel = BescheidLinkRel; public gotoNextStep(): void { if (isNil(this._bescheidDocument.resource)) { diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-attachment-button-container/upload-attachment-button/bescheid-wizard-upload-attachment-button.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-attachment-button-container/upload-attachment-button/bescheid-wizard-upload-attachment-button.component.spec.ts index 7aff85b5a346f756fae78c33398f875236e24390..91693776e3fecd1def3f2f7ce3cde0c54acefa23 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-attachment-button-container/upload-attachment-button/bescheid-wizard-upload-attachment-button.component.spec.ts +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-attachment-button-container/upload-attachment-button/bescheid-wizard-upload-attachment-button.component.spec.ts @@ -1,4 +1,3 @@ -import { BescheidAttachments } from '@alfa-client/bescheid-shared'; import { createEmptyStateResource, createStateResource } from '@alfa-client/tech-shared'; import { getElementComponentFromFixtureByCss, triggerEvent } from '@alfa-client/test-utils'; import { ComponentFixture, TestBed } from '@angular/core/testing'; @@ -6,7 +5,6 @@ import { FormBuilder, ReactiveFormsModule } from '@angular/forms'; import { faker } from '@faker-js/faker'; import { FileUploadEditorComponent } from '@ods/component'; import { MockComponent } from 'ng-mocks'; -import { createBescheidAttachments } from '../../../../../../../bescheid-shared/src/test/bescheid'; import { createBinaryFileResource } from '../../../../../../../binary-file-shared/test/binary-file'; import { getDataTestIdOf } from '../../../../../../../tech-shared/test/data-test'; import { createFile } from '../../../../../../../tech-shared/test/file'; @@ -19,8 +17,6 @@ describe('BescheidWizardUploadAttachmentButtonComponent', () => { const uploadEditorTestId: string = getDataTestIdOf('bescheid-wizard-upload-editor'); - const bescheidAttachments: BescheidAttachments = createBescheidAttachments(); - let formService: BescheidFormService; beforeEach(() => { diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-document-button-container/upload-document-button/bescheid-wizard-upload-document-button.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-document-button-container/upload-document-button/bescheid-wizard-upload-document-button.component.html index 0b04ceb6fc50d6d98b70f95f7f252c6a62a11252..6ddb97a03c2c07a4e314f33c6d7d8297e4087eca 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-document-button-container/upload-document-button/bescheid-wizard-upload-document-button.component.html +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-document-button-container/upload-document-button/bescheid-wizard-upload-document-button.component.html @@ -1,6 +1,5 @@ <div [formGroup]="formService.form" class="w-full"> <ods-single-file-upload-editor - *ngIf="bescheidResource | hasLink: bescheidLinkRel.UPLOAD_BESCHEID_FILE" [uploadInProgress]="upload.loading" [formControlName]="formServiceClass.FIELD_BESCHEID_DOCUMENT" (newFile)="uploadFile($event)" diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-document-button-container/upload-document-button/bescheid-wizard-upload-document-button.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-document-button-container/upload-document-button/bescheid-wizard-upload-document-button.component.spec.ts index d6616d37317a467e6a8c1976cfb1f2f5fc937ffc..66689e97b55fe62c4176df10614f23737020c5ba 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-document-button-container/upload-document-button/bescheid-wizard-upload-document-button.component.spec.ts +++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/upload-document-button-container/upload-document-button/bescheid-wizard-upload-document-button.component.spec.ts @@ -4,7 +4,6 @@ import { existsAsHtmlElement, getElementComponentFromFixtureByCss, mock, - notExistsAsHtmlElement, triggerEvent, useFromMock, } from '@alfa-client/test-utils'; @@ -110,14 +109,6 @@ describe('BescheidWizardDokumentHochladenButtonComponent', () => { existsAsHtmlElement(fixture, fileUploadEditorTestId); }); - it('should NOT exists', () => { - component.bescheidResource = createBescheidResource(); - - fixture.detectChanges(); - - notExistsAsHtmlElement(fixture, fileUploadEditorTestId); - }); - it('should have been called with inputs', () => { component.bescheidResource = createBescheidResource([BescheidLinkRel.UPLOAD_BESCHEID_FILE]); component.upload = createPendingUpload();