diff --git a/alfa-client/libs/binary-file-shared/src/lib/binary-file.service.spec.ts b/alfa-client/libs/binary-file-shared/src/lib/binary-file.service.spec.ts index 681c8d901d58d373a6102b8f1fdd1fee753b204b..fcc9d8712b26003f864f3932523264b2cb1887ca 100644 --- a/alfa-client/libs/binary-file-shared/src/lib/binary-file.service.spec.ts +++ b/alfa-client/libs/binary-file-shared/src/lib/binary-file.service.spec.ts @@ -21,14 +21,7 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { - BlobWithFileName, - createEmptyStateResource, - createErrorStateResource, - createStateResource, - HttpError, - StateResource, -} from '@alfa-client/tech-shared'; +import { BlobWithFileName, createEmptyStateResource, createErrorStateResource, createStateResource, HttpError, StateResource, } from '@alfa-client/tech-shared'; import { Mock, mock, useFromMock } from '@alfa-client/test-utils'; import { SnackBarService } from '@alfa-client/ui'; import { HttpErrorResponse, HttpResponse } from '@angular/common/http'; @@ -36,7 +29,7 @@ import { fakeAsync, tick } from '@angular/core/testing'; import { faker } from '@faker-js/faker'; import { getUrl, Resource, ResourceUri } from '@ngxp/rest'; import { cold, hot } from 'jest-marbles'; -import { createBinaryFileResource, createBlob, createFile } from 'libs/binary-file-shared/test/binary-file'; +import { createBinaryFileResource, createBlob, createFile, createUploadFile } from 'libs/binary-file-shared/test/binary-file'; import { VALIDATION_MESSAGES, ValidationMessageCode } from 'libs/tech-shared/src/lib/validation/tech.validation.messages'; import { DummyLinkRel } from 'libs/tech-shared/test/dummy'; import { createProblemDetail } from 'libs/tech-shared/test/error'; @@ -86,11 +79,7 @@ describe('BinaryFileService', () => { describe('get uploaded files', () => { const type: FileUploadType = 'DummyType'; - const uploadFile: UploadFile = { - key: faker.string.uuid(), - fileToUpload: createFile(), - uploadedFile: of(createStateResource(createBinaryFileResource())), - }; + const uploadFile: UploadFile = createUploadFile(); it('should return uploaded files by key', (done) => { service.uploadFiles.next({ [type]: [uploadFile] }); @@ -124,18 +113,10 @@ describe('BinaryFileService', () => { describe('remove uploaded file', () => { const type: FileUploadType = 'dummyType'; const key1: string = faker.string.uuid(); - const uploadFile1: UploadFile = { - key: key1, - fileToUpload: createFile(), - uploadedFile: of(createStateResource(createBinaryFileResource())), - }; + const uploadFile1: UploadFile = { ...createUploadFile(), key: key1 }; const key2: string = faker.string.uuid(); - const uploadFile2: UploadFile = { - key: key2, - fileToUpload: createFile(), - uploadedFile: of(createStateResource(createBinaryFileResource())), - }; + const uploadFile2: UploadFile = { ...createUploadFile(), key: key2 }; it('should remove uploaded file', () => { service.uploadFiles.next({ [type]: [uploadFile1, uploadFile2] }); @@ -148,11 +129,7 @@ describe('BinaryFileService', () => { }); describe('clear uploaded files', () => { - const uploadFile: UploadFile = { - key: faker.string.uuid(), - fileToUpload: createFile(), - uploadedFile: of(createStateResource(createBinaryFileResource())), - }; + const uploadFile: UploadFile = createUploadFile(); it('should remove entry by type from state', () => { const type: FileUploadType = 'dummType'; @@ -176,7 +153,7 @@ describe('BinaryFileService', () => { const binaryFileStateResource$: Observable<StateResource<BinaryFileResource>> = of(createStateResource(binaryFileResource)); - const uploadFile: UploadFile = { key: faker.string.uuid(), fileToUpload: file, uploadedFile: binaryFileStateResource$ }; + const uploadFile: UploadFile = { ...createUploadFile(), fileToUpload: file, uploadedFile: binaryFileStateResource$ }; it('should push entry to uploaded files', () => { service._buildUploadFile = jest.fn().mockReturnValue(uploadFile); diff --git a/alfa-client/libs/binary-file-shared/test/binary-file.ts b/alfa-client/libs/binary-file-shared/test/binary-file.ts index d45f8421ae079a8262323905039e6aa9b49df1c3..dda8bc259f66dff86c7497006df89c9a0ea3f738 100644 --- a/alfa-client/libs/binary-file-shared/test/binary-file.ts +++ b/alfa-client/libs/binary-file-shared/test/binary-file.ts @@ -21,12 +21,13 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { GetRequestOptions, StateResource, createStateResource } from '@alfa-client/tech-shared'; +import { createStateResource, GetRequestOptions, StateResource } from '@alfa-client/tech-shared'; import { faker } from '@faker-js/faker'; import { BinaryFileListLinkRel } from 'libs/binary-file-shared/src/lib/binary-file.linkrel'; -import { BinaryFile, BinaryFileListResource, BinaryFileResource } from 'libs/binary-file-shared/src/lib/binary-file.model'; +import { BinaryFile, BinaryFileListResource, BinaryFileResource, UploadFile, } from 'libs/binary-file-shared/src/lib/binary-file.model'; import { toResource } from 'libs/tech-shared/test/resource'; import { times } from 'lodash-es'; +import { of } from 'rxjs'; export function createBinaryFile(): BinaryFile { return { @@ -78,3 +79,11 @@ export function createFile(): File { webkitRelativePath: null, }; } + +export function createUploadFile(): UploadFile { + return { + key: faker.string.uuid(), + fileToUpload: createFile(), + uploadedFile: of(createStateResource(createBinaryFileResource())), + }; +}