import { test } from 'node:test' import assert from 'node:assert/strict' import { buildDownloadUrl, resolveDownloadUrl } from '../src/shared/api/download.ts' test('test_download_url_user_id', () => { assert.equal( buildDownloadUrl('/api/dedupe/results/5/download', 42), '/api/dedupe/results/5/download?user_id=42', ) }) test('test_download_url_no_user_id', () => { assert.equal(buildDownloadUrl('/api/dedupe/results/5/download'), '/api/dedupe/results/5/download') }) test('test_download_url_existing_user_id', () => { assert.equal( buildDownloadUrl('/api/dedupe/results/5/download?user_id=99', 42), '/api/dedupe/results/5/download?user_id=99', '已有 user_id 时不重复追加', ) }) test('test_resolve_download_fresh_priority', () => { const item = { freshDownloadUrl: '/newApi/api/fresh-url', downloadUrl: '/old-url' } assert.equal(resolveDownloadUrl(item), '/newApi/api/fresh-url') }) test('test_resolve_download_fallback', () => { const item = { downloadUrl: '/newApi/api/old-url' } assert.equal(resolveDownloadUrl(item), '/newApi/api/old-url') }) test('test_resolve_download_both_blank', () => { assert.equal(resolveDownloadUrl({}), '') assert.equal(resolveDownloadUrl({ freshDownloadUrl: '', downloadUrl: '' }), '') }) test('test_download_url_query_merge', () => { assert.equal( buildDownloadUrl('/api/x/download?token=abc', 7), '/api/x/download?token=abc&user_id=7', '已有 query 应合并追加 user_id', ) }) test('test_resolve_download_null_safe', () => { assert.equal(resolveDownloadUrl(null as never), '') assert.equal(resolveDownloadUrl(undefined as never), '') })