const { describe, it } = require('node:test'); const assert = require('node:assert/strict'); const { pickProxyVideoUrl, buildAgnesPollRequest } = require('../src/services/videoClient'); describe('pickProxyVideoUrl Agnes completed task', () => { it('reads MP4 from remixed_from_video_id when video_url is absent', () => { const data = { status: 'completed', progress: 100, remixed_from_video_id: 'https://platform-outputs.agnes-ai.space/videos/agnes-video-v2.0/2026/06/15/video_7237611b.mp4', video_id: 'video_7237611b', }; assert.equal( pickProxyVideoUrl(data), 'https://platform-outputs.agnes-ai.space/videos/agnes-video-v2.0/2026/06/15/video_7237611b.mp4' ); }); }); describe('buildAgnesPollRequest', () => { it('uses recommended video_id query API when provider poll id is video-prefixed', () => { const req = buildAgnesPollRequest( { api_key: 'k', base_url: 'https://apihub.agnes-ai.com/v1' }, 'video:video_abc123', 'agnes-video-v2.0' ); assert.equal( req.url, 'https://apihub.agnes-ai.com/agnesapi?video_id=video_abc123&model_name=agnes-video-v2.0' ); assert.deepEqual(req.headers, { Authorization: 'Bearer k' }); }); it('falls back to legacy task query API for task ids', () => { const req = buildAgnesPollRequest( { api_key: 'k', base_url: 'https://apihub.agnes-ai.com/v1', query_endpoint: '/videos/{taskId}' }, 'task_abc123', 'agnes-video-v2.0' ); assert.equal(req.url, 'https://apihub.agnes-ai.com/v1/videos/task_abc123'); assert.deepEqual(req.headers, { Authorization: 'Bearer k' }); }); });