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', ); });