From 07375f75dec88b07b4645822557cd16dc8854582 Mon Sep 17 00:00:00 2001 From: Mathias Date: Thu, 1 Oct 2026 17:01:38 +0200 Subject: [PATCH] test(acceptance): map audio_upload.feature scenarios to their covering tests Co-Authored-By: Claude Sonnet 5.5 --- test/acceptance/scenario_coverage_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/acceptance/scenario_coverage_test.go b/test/acceptance/scenario_coverage_test.go index ccabadb..76bc7b9 100644 --- a/test/acceptance/scenario_coverage_test.go +++ b/test/acceptance/scenario_coverage_test.go @@ -101,6 +101,26 @@ var scenarioCoverage = map[string]string{ "A multi-turn conversation is ephemeral": "TestChatMultiTurnHistoryIsEphemeral", "Chat is reachable only from my own summary view": "TestChatOnlyReachableForOwnVideo", + // audio_upload.feature (ADR-033, #33) + "The upload form states the limits up front": "TestUploadsPage_ShowsAMultipartFormWithAFileField", + "An accepted recording is queued and I am taken to its page": "TestUploadPost_AcceptedAudioQueuesARowAndRedirectsToIt", + "A recording with no title is named after its file": "TestUploadPost_WithoutATitleUsesTheFilenameMinusItsExtension", + "A file containing video is rejected, naming issue 28": "TestUploadPost_RejectionsAreSynchronousWithAMessageAndNoRow", + "A recording over the length limit is rejected with both lengths": "TestUploadPost_RejectionsAreSynchronousWithAMessageAndNoRow", + "A file over the size limit is rejected as too large": "TestUploadPost_RejectionsAreSynchronousWithAMessageAndNoRow", + "An audio-only MP4 is not mistaken for video": "TestParseProbe", + "A file that is not media is rejected as unreadable": "TestAccept_UnreadableFileIsARejectionButAProberFaultIsAnError", + "A broken ffprobe is reported as our fault, not as a bad file": "TestAccept_UnreadableFileIsARejectionButAProberFaultIsAnError", + "A recording becomes a transcript and the audio is deleted": "TestWorkerProcess_SuccessConvertsTranscribesStoresAndDeletesTheAudio", + "The endpoint that served a transcript is recorded and shown": "TestUploadStatus_DoneNamesTheEndpointThatServedIt", + "The local endpoint is tried first and the fallback only on failure": "TestChain_AnyPrimaryFailureFallsBackAndRecordsTheFallbackEndpoint", + "A failed transcription ends in a message, never a spinner": "TestUploadStatus_UnfinishedStatesKeepPollingTerminalStatesStop", + "A restart fails the jobs it interrupted": "TestFailInterruptedUploads_FailsOnlyUnfinishedRowsForEveryUser", + "Only one recording is transcribed at a time": "TestWorkerRun_ProcessesOneJobAtATime", + "My uploads are invisible to other users": "TestUploadChat_AnotherUsersUploadIs404AndNoModelIsCalled", + "I can ask about my recording and get a grounded answer": "TestUploadChatPost_SendsTheOwnersTranscriptWithTheUploadBudget", + "A long recording is not cut to its first third": "TestAnswerMaxCharsOverridesTheServiceCap", + // summarize_new_video.feature "A subscribed channel posts a video that has captions": "TestSubscribedVideoWithCaptionsIsSummarizedAndDelivered", "A subscribed channel posts a video with no usable transcript": "TestVideoWithNoTranscriptIsSkipped",