diff --git a/alfa-client/libs/binary-file-shared/src/lib/binary-file.service.ts b/alfa-client/libs/binary-file-shared/src/lib/binary-file.service.ts index 064f9d02f798c0aa88ac73b0614fa62be584390a..1a81c0ccffe97ac1483656b2616eb2689acc6750 100644 --- a/alfa-client/libs/binary-file-shared/src/lib/binary-file.service.ts +++ b/alfa-client/libs/binary-file-shared/src/lib/binary-file.service.ts @@ -21,16 +21,37 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { BlobWithFileName, createEmptyStateResource, createErrorStateResource, createStateResource, EMPTY_STRING, getMessageForInvalidParam, HttpError, HttpHeader, isNotNil, isUnprocessableEntity, isValidationFieldFileSizeExceedError, sanitizeFileName, StateResource, } from '@alfa-client/tech-shared'; +import { + BlobWithFileName, + createEmptyStateResource, + createErrorStateResource, + createStateResource, + EMPTY_STRING, + getMessageForInvalidParam, + HttpError, + HttpHeader, + isNotNil, + isUnprocessableEntity, + isValidationFieldFileSizeExceedError, + sanitizeFileName, + StateResource, +} from '@alfa-client/tech-shared'; import { SnackBarService } from '@alfa-client/ui'; import { HttpErrorResponse, HttpResponse } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { getUrl, Resource, ResourceUri } from '@ngxp/rest'; import { saveAs } from 'file-saver'; -import { isNil } from 'lodash-es'; +import { isNil, uniqueId } from 'lodash-es'; import { BehaviorSubject, forkJoin, Observable, of, throwError } from 'rxjs'; import { catchError, map, mergeMap, startWith, switchMap } from 'rxjs/operators'; -import { BinaryFileListResource, BinaryFileResource, FileUploadType, ToUploadFile, UploadFile, UploadFilesByType, } from './binary-file.model'; +import { + BinaryFileListResource, + BinaryFileResource, + FileUploadType, + ToUploadFile, + UploadFile, + UploadFilesByType, +} from './binary-file.model'; import { BinaryFileRepository } from './binary-file.repository'; @Injectable({ providedIn: 'root' }) @@ -67,7 +88,7 @@ export class BinaryFileService { _buildUploadFile(toUploadFile: ToUploadFile): UploadFile { return { - key: crypto.randomUUID(), + key: uniqueId(), fileToUpload: toUploadFile.file, uploadedFile: this._handleUpload(toUploadFile), }; diff --git a/alfa-client/libs/binary-file/src/lib/multi-file-upload-editor/multi-file-upload-editor.component.ts b/alfa-client/libs/binary-file/src/lib/multi-file-upload-editor/multi-file-upload-editor.component.ts index 69efe8e3985f31d6c8e39c03328a082360a7b75d..68685a3aaba2b8fa0140a40e6031de8c26708d11 100644 --- a/alfa-client/libs/binary-file/src/lib/multi-file-upload-editor/multi-file-upload-editor.component.ts +++ b/alfa-client/libs/binary-file/src/lib/multi-file-upload-editor/multi-file-upload-editor.component.ts @@ -64,7 +64,7 @@ export class MultiFileUploadEditorComponent extends FormControlEditorAbstractCom @HostListener('change', ['$event.target.files']) public onFilesUpload(fileList: FileList): void { - this.binaryFileService.isUploadInProgress(KOMMENTAR_UPLOADED_ATTACHMENTS).subscribe(console.info); + this.binaryFileService.isUploadInProgress(KOMMENTAR_UPLOADED_ATTACHMENTS); this._uploadFiles(fileList); this.setErrors(); } diff --git a/alfa-client/libs/binary-file/src/lib/multi-file-upload-list-container/multi-file-upload-list-item/multi-file-upload-list-item.component.spec.ts b/alfa-client/libs/binary-file/src/lib/multi-file-upload-list-container/multi-file-upload-list-item/multi-file-upload-list-item.component.spec.ts index 0190b738556eb899d0cfcbff7fe769e0786b373a..dfd5872b43d27c3d021899b00a6fecb7c90b05aa 100644 --- a/alfa-client/libs/binary-file/src/lib/multi-file-upload-list-container/multi-file-upload-list-item/multi-file-upload-list-item.component.spec.ts +++ b/alfa-client/libs/binary-file/src/lib/multi-file-upload-list-container/multi-file-upload-list-item/multi-file-upload-list-item.component.spec.ts @@ -1,6 +1,11 @@ import { BinaryFile2ContainerComponent, BinaryFileModule } from '@alfa-client/binary-file'; import { BinaryFileResource } from '@alfa-client/binary-file-shared'; -import { createEmptyStateResource, createErrorStateResource, createStateResource } from '@alfa-client/tech-shared'; +import { + ConvertProblemDetailToErrorMessagesPipe, + createEmptyStateResource, + createErrorStateResource, + createStateResource, +} from '@alfa-client/tech-shared'; import { existsAsHtmlElement, getElementComponentFromFixtureByCss, @@ -10,7 +15,7 @@ import { import { ComponentFixture, TestBed } from '@angular/core/testing'; import { expect } from '@jest/globals'; import { AttachmentComponent } from '@ods/system'; -import { MockComponent } from 'ng-mocks'; +import { MockComponent, MockModule } from 'ng-mocks'; import { createBinaryFileResource, createFile, @@ -29,8 +34,8 @@ describe('MultiFileUploadListItemComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [MultiFileUploadListItemComponent, BinaryFileModule], - declarations: [MockComponent(BinaryFile2ContainerComponent)], + imports: [MultiFileUploadListItemComponent, ConvertProblemDetailToErrorMessagesPipe], + declarations: [MockModule(BinaryFileModule), MockComponent(BinaryFile2ContainerComponent)], }).compileComponents(); fixture = TestBed.createComponent(MultiFileUploadListItemComponent); @@ -101,7 +106,7 @@ describe('MultiFileUploadListItemComponent', () => { const attachmentComponent: AttachmentComponent = getElementComponentFromFixtureByCss(fixture, attachmentTestId); expect(attachmentComponent.loadingCaption).toEqual(component.file.name); - expect(attachmentComponent.errorMessages).toBeUndefined(); + expect(attachmentComponent.errorMessages).toEqual([]); expect(attachmentComponent.isLoading).toEqual(true); }); }); diff --git a/alfa-client/libs/binary-file/src/lib/multi-file-upload-list-container/multi-file-upload-list-item/multi-file-upload-list-item.component.ts b/alfa-client/libs/binary-file/src/lib/multi-file-upload-list-container/multi-file-upload-list-item/multi-file-upload-list-item.component.ts index 78ac718278216141af9895e0f9042caa580b6487..74aaf872b431284832c628b73180a6e5eef0c797 100644 --- a/alfa-client/libs/binary-file/src/lib/multi-file-upload-list-container/multi-file-upload-list-item/multi-file-upload-list-item.component.ts +++ b/alfa-client/libs/binary-file/src/lib/multi-file-upload-list-container/multi-file-upload-list-item/multi-file-upload-list-item.component.ts @@ -1,6 +1,6 @@ import { BinaryFileModule } from '@alfa-client/binary-file'; import { BinaryFileResource } from '@alfa-client/binary-file-shared'; -import { StateResource } from '@alfa-client/tech-shared'; +import { ConvertProblemDetailToErrorMessagesPipe, StateResource } from '@alfa-client/tech-shared'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { AttachmentComponent, AttachmentWrapperComponent } from '@ods/system'; @@ -13,7 +13,7 @@ export interface FileToDelete { selector: 'ods-multi-file-upload-list-item', standalone: true, templateUrl: './multi-file-upload-list-item.component.html', - imports: [AttachmentComponent, AttachmentWrapperComponent, BinaryFileModule], + imports: [AttachmentComponent, AttachmentWrapperComponent, BinaryFileModule, ConvertProblemDetailToErrorMessagesPipe], }) export class MultiFileUploadListItemComponent { @Input() uploadStateResource: StateResource<BinaryFileResource>; diff --git a/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.spec.ts b/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.spec.ts index 00e3850600787b3f9fa2b3dc16a06ee8ecdb08ad..c3358acb510534afa4df0bca712d8b2ff8161bb5 100644 --- a/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.spec.ts +++ b/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.spec.ts @@ -954,7 +954,7 @@ describe('Vorgang Reducer', () => { it('should clear vorgaenge', () => { const state: VorgangState = Reducer.updateByRouteData(initialState, routeData); - expect(state.vorgaenge).toBe([]); + expect(state.vorgaenge).toEqual([]); }); }); @@ -986,7 +986,7 @@ describe('Vorgang Reducer', () => { it('should clear vorgaenge', () => { const state: VorgangState = Reducer.updateByRouteData(initialState, routeData); - expect(state.vorgaenge).toBe([]); + expect(state.vorgaenge).toEqual([]); }); }); });