Advance existing requests from Interactive Search

Pass requestId and requestedByUserId through request list and card components and into AudiobookDetailsModal. Add ADVANCEABLE_FROM_INTERACTIVE_SEARCH constant and logic so the Interactive Search modal routes to /api/requests/[id]/select-torrent for own/admin advanceable requests instead of creating a new request. Fix download-token usage to use the in-flight request id, extend Audiobook type with requestedByUserId, and add tests covering advance-vs-create routing and select-torrent behavior.
This commit is contained in:
kikootwo
2026-05-26 09:17:57 -04:00
parent 96aa01a3ec
commit 97d5aeb651
9 changed files with 209 additions and 8 deletions
@@ -118,6 +118,9 @@ describe('InteractiveTorrentSearchModal', () => {
await waitFor(() => {
expect(selectTorrentMock).toHaveBeenCalledWith('req-123', baseResult);
});
// When requestId is set, the modal must NOT fall into the create-new-request
// branch — that's the routing fix for own-request advanceable states.
expect(requestWithTorrentMock).not.toHaveBeenCalled();
expect(onSuccess).toHaveBeenCalled();
expect(onClose).toHaveBeenCalled();
});