mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-05-18 16:01:44 +00:00
20 KiB
20 KiB
| 1 | folder | title | precondition | steps | expected_result | key |
|---|---|---|---|---|---|---|
| 2 | Player - Core Playback | Play video content | App is installed and addon with content is configured | 1. Open the app 2. Navigate to any movie or series 3. Select a stream source 4. Tap play button | Video starts playing with audio and video synchronized | |
| 3 | Player - Core Playback | Pause and resume playback | Video is currently playing | 1. Tap the screen to show controls 2. Tap the pause button 3. Wait 3 seconds 4. Tap the play button | Video pauses immediately when pause is tapped and resumes from the same position when play is tapped | |
| 4 | Player - Core Playback | Seek forward 10 seconds | Video is currently playing | 1. Tap the screen to show controls 2. Tap the forward skip button (10s) | Video advances 10 seconds forward and continues playing | |
| 5 | Player - Core Playback | Seek backward 10 seconds | Video is currently playing with at least 15 seconds elapsed | 1. Tap the screen to show controls 2. Tap the backward skip button (10s) | Video rewinds 10 seconds backward and continues playing | |
| 6 | Player - Core Playback | Adjust playback speed | Video is currently playing | 1. Tap the screen to show controls 2. Open playback speed options 3. Select 1.5x speed | Video plays at 1.5x speed with adjusted audio pitch | |
| 7 | Player - Core Playback | Select audio track | Video with multiple audio tracks is playing | 1. Tap the screen to show controls 2. Open audio track selector 3. Select a different audio track | Audio switches to the selected track without interrupting video playback | |
| 8 | Player - Core Playback | Enable subtitles | Video is currently playing | 1. Tap the screen to show controls 2. Open subtitle selector 3. Select a subtitle track | Subtitles appear on screen synchronized with the audio | |
| 9 | Player - Core Playback | Disable subtitles | Video is playing with subtitles enabled | 1. Tap the screen to show controls 2. Open subtitle selector 3. Select Off or None | Subtitles are hidden from the screen | |
| 10 | Player - Core Playback | Select external subtitle track | Video is playing and external subtitles are available | 1. Tap the screen to show controls 2. Open subtitle selector 3. Select an external subtitle source | External subtitles load and display correctly | |
| 11 | Player - Core Playback | Adjust brightness (Mobile) | Video is playing on Android Mobile or iOS | 1. Slide vertically on the left side of the screen | Screen brightness adjusts according to gesture direction | |
| 12 | Player - Core Playback | Adjust volume (Mobile) | Video is playing on Android Mobile or iOS | 1. Slide vertically on the right side of the screen | Volume adjusts according to gesture direction with visual indicator | |
| 13 | Player - Core Playback | Buffer indicator display | Video is loading or buffering | 1. Start playing a video 2. Observe during initial load or when network is slow | Buffer indicator (loading spinner) is displayed while video is buffering | |
| 14 | Player - Core Playback | Resume playback from last position | Previously watched video with saved progress exists | 1. Open a video that was previously partially watched 2. Start playback | Video resumes from the last watched position instead of the beginning | |
| 15 | Player - Core Playback | Toggle aspect ratio | Video is currently playing | 1. Tap the screen to show controls 2. Tap the aspect ratio button | Video aspect ratio cycles through available options (fit/fill/zoom) with visual indicator | |
| 16 | Player - Core Playback | Controls auto-hide timeout | Video is playing with controls visible | 1. Tap the screen to show controls 2. Do not interact for 5 seconds | Controls automatically hide after the timeout period | |
| 17 | Player - Skip Features | Skip intro with AniSkip | Anime content with AniSkip data is playing and intro segment begins | 1. Play an anime episode 2. Wait for intro segment to start | Skip Intro button appears allowing user to skip to end of intro | |
| 18 | Player - Skip Features | Skip intro with IntroDB | Content with IntroDB data is playing and intro segment begins | 1. Play content with intro data from IntroDB 2. Wait for intro segment to start | Skip Intro button appears allowing user to skip to end of intro | |
| 19 | Player - Skip Features | Toggle skip intro setting | App is open and Settings is accessible | 1. Go to Settings 2. Find skip intro toggle 3. Toggle the setting off 4. Play content with intro data | Skip Intro button does not appear when setting is disabled | |
| 20 | Player - Skip Features | Submit intro timestamp to IntroDB | IntroDB API key is configured and content is playing | 1. Play content without existing intro data 2. Mark intro start and end points 3. Submit to IntroDB | Intro timestamps are submitted successfully | |
| 21 | Player - Gestures | Double tap to skip forward | Video is playing on touch-enabled device | 1. Double tap on the right side of the screen | Video skips forward 10 seconds | |
| 22 | Player - Gestures | Double tap to skip backward | Video is playing on touch-enabled device | 1. Double tap on the left side of the screen | Video skips backward 10 seconds | |
| 23 | Player - Gestures | Slide to seek | Video is playing on touch-enabled device | 1. Touch and hold on the progress bar area 2. Slide left or right | Seek preview shows and video seeks to the selected position on release | |
| 24 | Player - Gestures | Show controls on tap | Video is playing with controls hidden | 1. Tap once on the center of the screen | Player controls become visible | |
| 25 | Addon Management | Install addon from URL | App is open and Addon Manager is accessible | 1. Go to Addon Manager 2. Tap Add Addon 3. Enter a valid addon manifest URL 4. Confirm installation | Addon is installed and appears in the addon list with its catalogs available | |
| 26 | Addon Management | Remove installed addon | At least one addon is installed | 1. Go to Addon Manager 2. Find an installed addon 3. Tap remove/delete option 4. Confirm removal | Addon is removed from the list and its content is no longer accessible | |
| 27 | Addon Management | Reorder addons | Multiple addons are installed | 1. Go to Addon Manager 2. Enter reorder mode 3. Drag an addon to a new position 4. Save the order | Addon order is saved and reflected in catalog display priority | |
| 28 | Addon Management | Browse community addons | App is open and network is available | 1. Go to Addon Manager 2. Navigate to Community Addons section 3. Browse available addons | List of community addons loads and displays with names and descriptions | |
| 29 | Addon Management | Install community addon | Community addon list is visible | 1. Browse community addons 2. Select an addon 3. Tap Install | Community addon is installed and added to the addon list | |
| 30 | Addon Management | Enable and disable addon | At least one addon is installed | 1. Go to Addon Manager 2. Find an installed addon 3. Toggle the enable/disable switch | Addon is disabled (content hidden) or enabled (content visible) accordingly | |
| 31 | Addon Management | Install duplicate addon with same ID | An addon is already installed | 1. Go to Addon Manager 2. Try to install the same addon URL again | App handles duplicate gracefully - either updates existing or allows multiple instances | |
| 32 | Addon Management | Refresh addon list | Addons are installed | 1. Go to Addon Manager 2. Pull to refresh or tap refresh button | Addon manifests are refreshed from their sources | |
| 33 | Trakt Integration | Authenticate with Trakt | App is open and Trakt is not connected | 1. Go to Settings 2. Navigate to Trakt settings 3. Tap Connect to Trakt 4. Complete OAuth flow in browser 5. Return to app | Trakt account is connected and username is displayed | |
| 34 | Trakt Integration | Disconnect from Trakt | Trakt account is connected | 1. Go to Settings 2. Navigate to Trakt settings 3. Tap Disconnect | Trakt account is disconnected and sync features are disabled | |
| 35 | Trakt Integration | Sync watch history to Trakt | Trakt is connected and local watch history exists | 1. Enable Trakt autosync in settings 2. Watch content to completion | Watched content is synced to Trakt history | |
| 36 | Trakt Integration | Import watch history from Trakt | Trakt is connected with existing watch history | 1. Connect Trakt account 2. Enable sync 3. Trigger manual sync or wait for auto-sync | Trakt watch history appears in Continue Watching section | |
| 37 | Trakt Integration | Scrobble during playback | Trakt is connected and video is playing | 1. Play content for more than a few minutes | Trakt scrobble is active showing currently watching status | |
| 38 | Trakt Integration | Mark episode as watched | Trakt is connected and series episode is displayed | 1. Navigate to a series episode 2. Long press or find mark as watched option 3. Mark as watched | Episode is marked as watched on Trakt and locally | |
| 39 | Trakt Integration | Mark movie as watched | Trakt is connected and movie is displayed | 1. Navigate to a movie 2. Long press or find mark as watched option 3. Mark as watched | Movie is marked as watched on Trakt and locally | |
| 40 | Trakt Integration | View Trakt watchlist | Trakt is connected with items in watchlist | 1. Navigate to Library or Trakt section 2. View watchlist | Trakt watchlist items are displayed | |
| 41 | Trakt Integration | View Trakt collection | Trakt is connected with items in collection | 1. Navigate to Library or Trakt section 2. View collection | Trakt collection items are displayed | |
| 42 | Watch Progress | Save playback position automatically | Video is playing | 1. Play a video for several minutes 2. Exit the player | Playback position is saved automatically | |
| 43 | Watch Progress | Display continue watching section | Watch progress exists for at least one item | 1. Open the app 2. Navigate to Home screen | Continue Watching section displays with items showing progress indicators | |
| 44 | Watch Progress | Resume from continue watching card | Continue watching section has items | 1. Find an item in Continue Watching 2. Tap the item 3. Start playback | Video resumes from the saved position | |
| 45 | Watch Progress | Up next episode suggestion | Series episode finished playing | 1. Watch a series episode to near completion 2. Let it finish | Up Next card appears suggesting the next episode | |
| 46 | Watch Progress | Clear watch progress for item | Item has saved watch progress | 1. Find item with watch progress 2. Long press or access options 3. Clear progress | Watch progress is cleared and item removed from Continue Watching | |
| 47 | Watch Progress | Progress percentage display | Items have partial watch progress | 1. View Continue Watching section | Progress bar shows accurate percentage of content watched | |
| 48 | Watch Progress | Continue watching limit (30 items) | More than 30 items have watch progress | 1. Watch many different items 2. View Continue Watching | Only the 30 most recent items are shown in Continue Watching | |
| 49 | Home Screen | Display catalog rows from addons | At least one addon with catalogs is installed | 1. Open the app 2. Navigate to Home screen | Catalog rows from installed addons are displayed with content posters | |
| 50 | Home Screen | Load featured content | Addon with featured content is installed | 1. Open the app 2. View Home screen hero section | Featured content displays with poster/backdrop and metadata | |
| 51 | Home Screen | Navigate to content details | Content is visible on Home screen | 1. Tap on any content poster | Content details screen opens with full metadata | |
| 52 | Home Screen | Pull to refresh | Home screen is displayed | 1. Pull down from top of Home screen | Catalogs refresh and reload content from sources | |
| 53 | Home Screen | Display This Week section | This Week section is enabled in settings | 1. View Home screen | This Week section shows recently aired episodes for tracked series | |
| 54 | Home Screen | Toggle This Week section | Settings is accessible | 1. Go to Settings 2. Find This Week toggle 3. Disable it 4. Return to Home | This Week section is hidden when disabled | |
| 55 | Home Screen | Manage catalog visibility | Multiple catalogs are available | 1. Go to catalog settings 2. Toggle visibility of specific catalogs 3. Return to Home | Only enabled catalogs are displayed on Home screen | |
| 56 | Home Screen | Load more content in catalog | Catalog with pagination is displayed | 1. Scroll to end of a catalog row 2. Continue scrolling or tap load more | Additional content loads and appends to the catalog | |
| 57 | Search | Search for content by title | App is open with addons configured | 1. Navigate to Search screen 2. Enter a search query (e.g. movie title) 3. Submit search | Search results display matching content from all searchable addons | |
| 58 | Search | Display search results grid | Search has been performed | 1. Perform a search with results | Results display in a grid/list with posters and titles | |
| 59 | Search | Navigate to result details | Search results are displayed | 1. Tap on a search result | Content details screen opens for the selected item | |
| 60 | Search | Clear search query | Search query is entered | 1. Tap the clear button in search field | Search query is cleared and results are hidden or reset | |
| 61 | Search | Handle no results | Search is accessible | 1. Enter a search query with no matches | Appropriate No results found message is displayed | |
| 62 | Content Details | Display movie metadata | Movie content exists in addon | 1. Navigate to a movie | Movie details show: title, year, runtime, description, genres, rating | |
| 63 | Content Details | Display series metadata | Series content exists in addon | 1. Navigate to a series | Series details show: title, years, description, genres, rating, season count | |
| 64 | Content Details | Select season | Series with multiple seasons is displayed | 1. Open a series with multiple seasons 2. Tap season selector 3. Select a different season | Episode list updates to show selected season episodes | |
| 65 | Content Details | Display episode list | Series content is displayed | 1. Navigate to a series | Episode list shows episode numbers, titles, and thumbnails | |
| 66 | Content Details | View cast information | Content with cast data is displayed | 1. Scroll to cast section on details screen | Cast members are displayed with names and photos | |
| 67 | Content Details | View IMDB rating | Content with IMDB ID is displayed | 1. View content details | IMDB rating is displayed with score | |
| 68 | Content Details | Play content from details | Content details screen is open | 1. Tap Play button on details screen | Stream selection opens or playback begins | |
| 69 | Content Details | Add to library | Content details screen is open | 1. Tap Add to Library button | Content is saved to library and button state updates | |
| 70 | Content Details | Remove from library | Content is in library | 1. Navigate to saved content 2. Tap Remove from Library | Content is removed from library | |
| 71 | Content Details | TMDB enrichment | TMDB enrichment is enabled in settings | 1. View content details | Additional metadata from TMDB is displayed (logos, backdrop, extended info) | |
| 72 | Stream Selection | Display available streams | Content with streams is selected | 1. Select Play on content 2. View stream selection screen | Available streams are listed with quality and source info | |
| 73 | Stream Selection | Auto-select first stream | Auto-play is enabled and content has streams | 1. Navigate to content 2. Tap Play | First available stream is automatically selected and playback begins | |
| 74 | Stream Selection | Filter streams by provider | Multiple stream providers are available | 1. Open stream selection 2. Tap on a provider filter | Only streams from selected provider are shown | |
| 75 | Stream Selection | Select specific stream | Multiple streams are available | 1. Open stream selection 2. Tap on a specific stream | Selected stream begins playing | |
| 76 | Stream Selection | Handle no streams available | Content with no available streams is selected | 1. Try to play content with no streams | Appropriate message displayed indicating no streams found | |
| 77 | Settings | Change app theme | Settings is accessible | 1. Go to Settings 2. Navigate to Theme settings 3. Select a different theme | App theme changes to selected option | |
| 78 | Settings | Configure TMDB API key | Settings is accessible | 1. Go to Settings 2. Navigate to TMDB settings 3. Enter API key 4. Save | TMDB API key is saved and TMDB features become available | |
| 79 | Settings | Change app language | Settings is accessible | 1. Go to Settings 2. Navigate to Language settings 3. Select a different language | App UI text changes to selected language | |
| 80 | Settings | Configure player default settings | Settings is accessible | 1. Go to Settings 2. Navigate to Player settings 3. Adjust default playback speed or other settings | Settings are saved and applied to future playback sessions | |
| 81 | Settings | Toggle TMDB enrichment | Settings is accessible | 1. Go to Settings 2. Find TMDB enrichment toggle 3. Toggle off | Content details no longer show TMDB-enriched data when disabled | |
| 82 | Settings | View legal information | Settings is accessible | 1. Go to Settings 2. Navigate to Legal/About section | Legal information, licenses, and attributions are displayed | |
| 83 | Settings | Access developer options | Dev options are enabled | 1. Go to Settings 2. Navigate to Developer Options | Developer options are accessible for debugging | |
| 84 | Plugin System | Add plugin repository | Plugin system is accessible | 1. Go to Plugins 2. Add new repository URL 3. Confirm | Repository is added and plugins are loaded | |
| 85 | Plugin System | Install plugin from repository | Repository with plugins is added | 1. Go to Plugins 2. Browse available plugins 3. Install a plugin | Plugin is installed and available for use | |
| 86 | Plugin System | Test plugin functionality | Plugin test screen is available | 1. Go to Plugin Test screen 2. Enter test parameters 3. Run test | Plugin executes and returns results | |
| 87 | Plugin System | Enable and disable plugin | Plugin is installed | 1. Go to Plugins 2. Find installed plugin 3. Toggle enable/disable | Plugin is enabled or disabled affecting its functionality | |
| 88 | Plugin System | Remove plugin repository | Repository is added | 1. Go to Plugins 2. Find repository 3. Remove repository | Repository and its plugins are removed | |
| 89 | Platform: Android TV | Navigate with D-pad | Running on Android TV | 1. Use D-pad to navigate through Home screen 2. Select content with center button | All UI elements are navigable with D-pad and properly focused | |
| 90 | Platform: Android TV | Focus management on Home | Running on Android TV | 1. Navigate away from Home 2. Press Back to return to Home | Focus returns to the previously focused item | |
| 91 | Platform: Android TV | Remote control playback | Video playing on Android TV | 1. Use Play/Pause button on remote 2. Use Fast Forward/Rewind buttons | Playback responds to all remote control commands | |
| 92 | Platform: Android TV | Navigate sidebar with D-pad | Running on Android TV | 1. Press Left from main content 2. Navigate sidebar options | Sidebar is accessible and navigable with D-pad | |
| 93 | Platform: Android Mobile | Touch gesture controls | Running on Android Mobile | 1. Play a video 2. Use touch gestures (double tap, swipe) | All touch gestures work correctly for playback control | |
| 94 | Platform: Android Mobile | Orientation handling | Running on Android Mobile | 1. Start video playback 2. Rotate device | Player handles orientation change smoothly without losing playback state | |
| 95 | Platform: Android Mobile | In-app update download | Update is available on Android | 1. App notifies of available update 2. Tap to download 3. Install update | Update downloads and installs within the app | |
| 96 | Platform: iOS | Touch gesture controls | Running on iOS | 1. Play a video 2. Use touch gestures (double tap, swipe) | All touch gestures work correctly for playback control | |
| 97 | Platform: iOS | Handle escape key on macOS | Running on macOS via Catalyst | 1. Play a video 2. Press Escape key | Player exits or controls respond appropriately without crashing | |
| 98 | Platform: iOS | Orientation handling on iPad | Running on iPad | 1. Start video playback 2. Rotate device | Player handles orientation change smoothly |