docs(bdd): scenarios for paste-a-URL + onboarding burst, mapped to tests
Adds paste_url.feature (valid/invalid/not-found/dedup, +@pending no-captions) and an onboarding-burst scenario on connect; all non-pending scenarios mapped in the coverage gate to their existing Go tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,12 @@ Feature: Connect and manage video accounts
|
|||||||
Then a discovery pass for my account is triggered right away
|
Then a discovery pass for my account is triggered right away
|
||||||
And I do not have to wait for the next scheduled pass to see my videos
|
And I do not have to wait for the next scheduled pass to see my videos
|
||||||
|
|
||||||
|
Scenario: Connecting summarizes my newest videos right away
|
||||||
|
Given I have no connected video accounts
|
||||||
|
When I connect my YouTube account
|
||||||
|
Then up to the onboarding cap of my newest videos are summarized through the rate gate
|
||||||
|
And the rest are left to the scheduled recency-bounded pass
|
||||||
|
|
||||||
Scenario: Tokens are never stored in the clear
|
Scenario: Tokens are never stored in the clear
|
||||||
When I connect any video account
|
When I connect any video account
|
||||||
Then no OAuth token value is stored in the database
|
Then no OAuth token value is stored in the database
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
Feature: Paste a YouTube URL to summarize any video
|
||||||
|
As a user
|
||||||
|
I want to paste a YouTube link and get a summary
|
||||||
|
So that I can pull the specific video I want now, even from channels I don't follow
|
||||||
|
|
||||||
|
Scenario: Paste a valid YouTube URL
|
||||||
|
Given I am connected
|
||||||
|
When I paste a valid YouTube video URL
|
||||||
|
Then the video is added to my feed scoped to me
|
||||||
|
And it is queued for summarization through the shared rate gate
|
||||||
|
|
||||||
|
Scenario: Pasting an invalid link is rejected
|
||||||
|
When I paste something that is not a YouTube video URL
|
||||||
|
Then I get a clear error and nothing is added
|
||||||
|
|
||||||
|
Scenario: Pasting a video that cannot be found is honest
|
||||||
|
When I paste a URL whose video cannot be found
|
||||||
|
Then I am told it couldn't be found and nothing is added
|
||||||
|
|
||||||
|
Scenario: Pasting the same video twice does not duplicate it
|
||||||
|
Given I have pasted a video
|
||||||
|
When I paste the same video again
|
||||||
|
Then my feed still has exactly one entry for it
|
||||||
|
|
||||||
|
@pending
|
||||||
|
# Covered by the engine's ADR-010 no-transcript terminal state (degrade-never-error);
|
||||||
|
# there is no paste-specific test for it.
|
||||||
|
Scenario: A pasted video with no captions resolves honestly
|
||||||
|
When I paste a video that has no captions
|
||||||
|
Then it resolves to the "no transcript available" terminal state
|
||||||
@@ -37,9 +37,16 @@ var scenarioCoverage = map[string]string{
|
|||||||
"An authenticated user on the welcome page sees their way in and out": "TestWelcomeLoggedIn",
|
"An authenticated user on the welcome page sees their way in and out": "TestWelcomeLoggedIn",
|
||||||
|
|
||||||
// connect_account.feature
|
// connect_account.feature
|
||||||
"Connect a YouTube account": "TestCallbackExchangesAndRecordsConnection",
|
"Connect a YouTube account": "TestCallbackExchangesAndRecordsConnection",
|
||||||
"Connecting an account discovers videos immediately": "TestCallbackTriggersDiscovery",
|
"Connecting an account discovers videos immediately": "TestCallbackTriggersDiscovery",
|
||||||
"Tokens are never stored in the clear": "TestCallbackExchangesAndRecordsConnection",
|
"Connecting summarizes my newest videos right away": "TestNewestUnsummarizedVideoIDs",
|
||||||
|
"Tokens are never stored in the clear": "TestCallbackExchangesAndRecordsConnection",
|
||||||
|
|
||||||
|
// paste_url.feature
|
||||||
|
"Paste a valid YouTube URL": "TestPasteValidURLAddsAndRequests",
|
||||||
|
"Pasting an invalid link is rejected": "TestPasteInvalidURLRejected",
|
||||||
|
"Pasting a video that cannot be found is honest": "TestPasteVideoNotFound",
|
||||||
|
"Pasting the same video twice does not duplicate it": "TestPasteDedupNoDuplicate",
|
||||||
"Revoking a connection stops watching but keeps history": "TestDisconnectRemovesTokenAndConnectionKeepsAccount",
|
"Revoking a connection stops watching but keeps history": "TestDisconnectRemovesTokenAndConnectionKeepsAccount",
|
||||||
|
|
||||||
// summarize_mode.feature
|
// summarize_mode.feature
|
||||||
|
|||||||
Reference in New Issue
Block a user