27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import { BadRequestException } from '@nestjs/common';
|
|
import type { DataSource } from 'typeorm';
|
|
import { AssetProvenanceService } from '../../src/asset-master/asset-provenance.service';
|
|
import { UpdateAssetProvenanceDto } from '../../src/asset-master/dto/update-asset-provenance.dto';
|
|
import { AssetDataOrigin } from '../../src/database/entities';
|
|
|
|
test('document and import provenance require an identified source', async () => {
|
|
const service = new AssetProvenanceService(
|
|
{} as DataSource,
|
|
{} as never,
|
|
{} as never,
|
|
);
|
|
const dto = Object.assign(new UpdateAssetProvenanceDto(), {
|
|
origin: AssetDataOrigin.IMPORT,
|
|
sourceName: null,
|
|
});
|
|
|
|
await assert.rejects(
|
|
service.update('asset-id', dto, {} as never, {} as never),
|
|
(error: unknown) => error instanceof BadRequestException
|
|
&& error.getResponse() instanceof Object
|
|
&& (error.getResponse() as { code?: string }).code === 'PROVENANCE_SOURCE_REQUIRED',
|
|
);
|
|
});
|