ION App - User Story Mapping by Screen
Introduction
This document provides a comprehensive User Story Mapping for the ION OTT application, derived from all ION-TEST Xray test cases in Jira. The mapping covers all major screens and features targeting TV (Android, iOS/tvOS, Tizen, webOS), Mobile, Tablet, and Desktop platforms.
Each user story follows the format: As a [user/operator], I want to [action] so that [benefit]
User Story IDs follow the format: US-[SCREEN_CODE]-[NUMBER]
Total test cases analyzed: ~1,300+ across 33 feature areas.
1. Sign On / Authentication
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-SIGNON-001 | As a user, I want the app to auto-login using stored device credentials so that I don't need to manually enter my username/password on every launch | IONTEST-176, IONTEST-181, IONTEST-195, IONTEST-200 | Token-based auto-signin |
US-SIGNON-002 | As a user, I want my access and refresh tokens to be automatically managed so that my session remains active without interruption | IONTEST-183, IONTEST-184, IONTEST-185, IONTEST-186, IONTEST-187 | Token lifecycle |
US-SIGNON-003 | As a user, I want to auto-login when my device comes back online after offline or standby so that I have seamless connectivity recovery | IONTEST-182, IONTEST-192, IONTEST-195, IONTEST-1407 | Resume scenarios |
US-SIGNON-004 | As a user, I want to see the login screen with an appropriate message when my session expires or device is deactivated | IONTEST-183, IONTEST-186, IONTEST-189, IONTEST-190, IONTEST-239, IONTEST-1423 | Session expiry handling |
US-SIGNON-005 | As a user, I want to see informative messages during first launch authorization so that I am informed about the app loading progress | IONTEST-193, IONTEST-194, IONTEST-198 | First launch UX |
US-SIGNON-006 | As a user, I want to receive clear error messages when logging in with a suspended account or incorrect credentials | IONTEST-196, IONTEST-228, IONTEST-229, IONTEST-235 | Error states |
US-SIGNON-007 | As an operator, I want to enable/disable auto-sign-in per device using Serial number/MAC/DeviceId | IONTEST-199, IONTEST-200, IONTEST-201, IONTEST-202 | Operator-level config |
US-SIGNON-008 | As a launcher device user, I want to see an Android Settings shortcut on the login screen so that I can troubleshoot connectivity issues | IONTEST-204, IONTEST-205, IONTEST-206, IONTEST-207 | STB/launcher specific |
US-SIGNON-009 | As a mobile user, I want to show or hide my password while typing on the login screen | IONTEST-209, IONTEST-210 | Mobile only |
US-SIGNON-010 | As a user, I want to see Terms and Conditions in my display language on first launch | IONTEST-213, IONTEST-214 | Localization |
US-SIGNON-011 | As a user, I want to see a Forgot username/password link on the sign-on screen | IONTEST-216 | Account recovery |
US-SIGNON-012 | As a first-time user, I want to see an onboarding guide only on my first launch | IONTEST-218, IONTEST-219 | First-use experience |
US-SIGNON-013 | As a user, I want to see a User Agreement popup on first launch and consent before using the app | IONTEST-222, IONTEST-223, IONTEST-224, IONTEST-225 | Consent management |
US-SIGNON-014 | As a multi-account user, I want to see an account selection screen after login | IONTEST-236, IONTEST-237, IONTEST-238, IONTEST-241, IONTEST-246 | Multi-account |
US-SIGNON-015 | As a user, I want my language preferences and parental lock to be set up after account selection | IONTEST-243 | Post-login setup |
US-SIGNON-016 | As a user, I want to remain in the same app state after a brief internet disconnection/reconnection | IONTEST-242, IONTEST-248 | Connectivity resilience |
US-SIGNON-017 | As a user, I want to see the login screen after clearing app data so that I can start a fresh session | IONTEST-245 | App data reset |
US-SIGNON-018 | As a TV user on LG webOS or Tizen, I want an Exit Key option so that I can close the application | IONTEST-230 | Smart TV platform |
US-SIGNON-019 | As a mobile user, I want to configure the app launch screen | IONTEST-231 | Mobile config |
2. Main Menu & Navigation
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-MENU-001 | As a user, I want to navigate between all major app screens from the main menu | IONTEST-1395 | Core navigation |
US-MENU-002 | As an operator, I want to configure menu items, labels, icons, and display order | IONTEST-1057, IONTEST-1058, IONTEST-1059 | Operator customization |
US-MENU-003 | As an operator, I want to show/hide specific menu items based on platform configuration | IONTEST-1395, IONTEST-889 | Platform config |
US-MENU-004 | As a user, I want the settings icon to be visually grayed out when not focused | IONTEST-1405, IONTEST-1406 | Visual feedback |
3. Discover Screen
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-DISCOVER-001 | As a user, I want to see multiple content strips/rails on the Discover screen | IONTEST-73, IONTEST-74, IONTEST-76, IONTEST-408, IONTEST-419 | Core rail display |
US-DISCOVER-002 | As a user, I want to see live, recorded, and VOD content in Discover strips | IONTEST-79, IONTEST-80, IONTEST-418 | Content variety |
US-DISCOVER-003 | As a user, I want to see a Continue Watching strip with my partially watched content | IONTEST-80, IONTEST-417, IONTEST-1457, IONTEST-1458 | Continue watching |
US-DISCOVER-004 | As a user, I want to see personalized Suggestions For You and recommendations in Discover | IONTEST-81, IONTEST-97, IONTEST-98, IONTEST-99, IONTEST-100, IONTEST-143, IONTEST-144, IONTEST-145, IONTEST-146 | Personalization |
US-DISCOVER-005 | As an operator, I want to dynamically update content strip layouts while the app is active | IONTEST-424, IONTEST-425, IONTEST-428, IONTEST-429, IONTEST-430 | Dynamic content |
US-DISCOVER-006 | As an operator, I want to configure and reorder rail positions | IONTEST-420, IONTEST-422, IONTEST-432 | Rail management |
US-DISCOVER-007 | As a user, I want to see third-party app tiles (Netflix, Amazon Prime) in Discover strips | IONTEST-405, IONTEST-406, IONTEST-407, IONTEST-409, IONTEST-410 | 3rd party integration |
US-DISCOVER-008 | As a user, I want to see a See More option for content-rich strips and an error for unsubscribed content | IONTEST-433, IONTEST-412, IONTEST-413 | Content access |
US-DISCOVER-009 | As a user, I want the Discover screen strips to display in my selected UI language | IONTEST-73 | Localization |
4. Live TV Screen
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-LIVETV-001 | As a user, I want to see only my subscribed channels in the Live TV screen | IONTEST-368, IONTEST-940 | Subscription filtering |
US-LIVETV-002 | As a user, I want to see a Guide button on the Live screen | IONTEST-366 | Guide access |
US-LIVETV-003 | As a user, I want to see a No Channels message when no live events are available | IONTEST-367 | Empty state |
US-LIVETV-004 | As a user, I want the Live TV screen to display correctly in RTL mode for Arabic | IONTEST-369 | RTL support |
US-LIVETV-005 | As a mobile user, I want to search content directly from the Live screen | IONTEST-370 | Mobile search |
US-LIVETV-006 | As a user, I want to schedule or cancel a recording for a live event from the Live screen | IONTEST-371 | Recording from Live |
US-LIVETV-007 | As a user, I want to favorite or unfavorite live and episodic content from the Live screen | IONTEST-372 | Favorites management |
US-LIVETV-008 | As a user, I want to play a catchup episode from a live episodic media card | IONTEST-374 | Catchup from Live |
US-LIVETV-009 | As a user, I want to filter and sort channels by genre in the Live screen | IONTEST-375 | Genre filtering |
US-LIVETV-010 | As a user, I want live events to auto-refresh so that I always see currently airing programs | IONTEST-376 | Event refresh |
US-LIVETV-011 | As a mobile user, I want to play parentally restricted content after entering a PIN | IONTEST-373 | Parental control |
5. EPG (Electronic Program Guide)
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-EPG-001 | As a user, I want to view a full-screen TV program guide grid with channels and time slots | IONTEST-1307, IONTEST-1338, IONTEST-1342 | Core EPG grid |
US-EPG-002 | As a user, I want to horizontally and vertically scroll through the EPG grid | IONTEST-1297, IONTEST-1298, IONTEST-1299, IONTEST-1339 | Grid navigation |
US-EPG-003 | As a user, I want to tune to a channel and start playback by pressing Play/OK on a live or catch-up event in the EPG | IONTEST-254, IONTEST-1335 | Play from EPG |
US-EPG-004 | As a user, I want to open a media card for any event in the EPG | IONTEST-255, IONTEST-1312 | Media card from EPG |
US-EPG-005 | As a user, I want to see reverse EPG (catchup events) in the program guide | IONTEST-1306, IONTEST-1331, IONTEST-1349 | Reverse EPG |
US-EPG-006 | As a user, I want to fast navigate through the EPG using long-press FF/RW keys | IONTEST-1348, IONTEST-1350, IONTEST-1351, IONTEST-1353, IONTEST-1354 | Fast navigation |
US-EPG-007 | As a user, I want to see a date picker in the EPG so that I can jump directly to a specific date | IONTEST-1323 | Date picker |
US-EPG-008 | As a user, I want to see a channel info card with current playing info when browsing the guide | IONTEST-1344, IONTEST-1345, IONTEST-1352 | Info card |
US-EPG-009 | As a user, I want to favorite events/channels from the EPG | IONTEST-1301, IONTEST-1302, IONTEST-1328 | Favorites in EPG |
US-EPG-010 | As a user, I want to apply genre/favorite filters in the EPG | IONTEST-1329, IONTEST-1346, IONTEST-996, IONTEST-997, IONTEST-1000, IONTEST-1001 | Filtering |
US-EPG-011 | As a user, I want to see the EPG in RTL layout when using Arabic | IONTEST-1327 | RTL support |
US-EPG-012 | As a user, I want to see a No Channels message when no channels are available | IONTEST-1340 | Empty state |
US-EPG-013 | As a TV user, I want a DCE keyboard accessible from the EPG | IONTEST-1333, IONTEST-1334, IONTEST-354 | DCE in EPG |
US-EPG-014 | As a user, I want to see channel paging and blocked channel indicators in the EPG | IONTEST-1309, IONTEST-1331 | Channel access indicators |
US-EPG-015 | As a mobile user, I want to search content from within the Guide screen | IONTEST-1330 | Mobile search from EPG |
US-EPG-016 | As a user, I want to see a Recommendation Strip within the Guide | IONTEST-1312, IONTEST-1313, IONTEST-1314, IONTEST-1315, IONTEST-1316, IONTEST-1317, IONTEST-1318 | Recommendations in EPG |
6. Saved Screen
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-SAVED-001 | As a user, I want to view all my NPVR recordings in the Saved screen | IONTEST-107, IONTEST-111, IONTEST-116 | Core recordings view |
US-SAVED-002 | As a user, I want to filter recorded content by type | IONTEST-107, IONTEST-110, IONTEST-114, IONTEST-1240 | Filtering |
US-SAVED-003 | As a user, I want to sort my recordings by date, expiry time, and duration | IONTEST-116, IONTEST-117, IONTEST-118, IONTEST-508, IONTEST-509, IONTEST-510, IONTEST-1233, IONTEST-1235, IONTEST-1236, IONTEST-1237, IONTEST-1241 | Sorting |
US-SAVED-004 | As a user, I want to delete single or series recordings with or without a PIN | IONTEST-109, IONTEST-128, IONTEST-130, IONTEST-131, IONTEST-132 | Delete recordings |
US-SAVED-005 | As a user, I want to see episodic recordings grouped into series folders | IONTEST-111, IONTEST-119, IONTEST-503, IONTEST-510 | Series roll-up |
US-SAVED-006 | As a user, I want to protect or unprotect recorded content | IONTEST-133, IONTEST-135, IONTEST-787 | Content protection |
US-SAVED-007 | As a user, I want to start playback of a recording from the beginning using Start Over | IONTEST-134 | Start Over for recordings |
US-SAVED-008 | As a user, I want to manage ongoing or scheduled recordings (cancel, edit, protect) from the Saved screen | IONTEST-778, IONTEST-779, IONTEST-780, IONTEST-781, IONTEST-782, IONTEST-783, IONTEST-788 | Recording management |
US-SAVED-009 | As a user, I want to see a cloud storage quota progress bar | IONTEST-442, IONTEST-446, IONTEST-447, IONTEST-448, IONTEST-449, IONTEST-450, IONTEST-453, IONTEST-776 | Quota display |
US-SAVED-010 | As a user, I want quota progress bar color coding (green/orange/red) based on usage percentage | IONTEST-443, IONTEST-444, IONTEST-445 | Quota color coding |
US-SAVED-011 | As a user, I want to see scheduled recordings with a dedicated icon and filter | IONTEST-459, IONTEST-462, IONTEST-464 | Scheduled recordings |
US-SAVED-012 | As a user, I want to see a Recording tag for ongoing records and Expires in X hours for soon-expiring content | IONTEST-500, IONTEST-501 | Recording status indicators |
US-SAVED-013 | As a user, I want to book a single event recording and convert it to a series recording | IONTEST-503, IONTEST-511, IONTEST-790, IONTEST-792 | Recording booking |
US-SAVED-014 | As a user, I want to record All Episodes, All New Episodes, or Just This Episode for a series | IONTEST-786, IONTEST-793 | Series recording options |
US-SAVED-015 | As a user, I want the system to automatically delete oldest recordings when quota is full | IONTEST-139, IONTEST-140, IONTEST-141 | Auto-delete policy |
US-SAVED-016 | As a user, I want parental control applied on the Saved screen | IONTEST-1397 | Parental control |
US-SAVED-017 | As a user, I want to view partial recordings with correctly displayed durations | IONTEST-163, IONTEST-164, IONTEST-165, IONTEST-166, IONTEST-167, IONTEST-168, IONTEST-169 | Partial recordings |
7. Search / Explore Screen
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-SEARCH-001 | As a user, I want to search for content using a text input | IONTEST-1063, IONTEST-1087, IONTEST-1248, IONTEST-1252, IONTEST-1265 | Core search |
US-SEARCH-002 | As a user, I want to see search results categorized by type (Live, Catchup, On Demand, Series) | IONTEST-1159, IONTEST-1160, IONTEST-1161, IONTEST-1162, IONTEST-1163, IONTEST-1255 | Result categorization |
US-SEARCH-003 | As a user, I want to see search results in a Mosaic poster view with configurable filters | IONTEST-1258, IONTEST-1260, IONTEST-1261, IONTEST-1277 | Mosaic view |
US-SEARCH-004 | As a user, I want my recent searches to be saved and cleared on request | IONTEST-1249, IONTEST-1262, IONTEST-1263 | Recent searches |
US-SEARCH-005 | As a user, I want to open a media card from search results | IONTEST-1242, IONTEST-1244 | Media card from Search |
US-SEARCH-006 | As a user, I want to use startover and jump-to-live for content found via search | IONTEST-1246 | Playback from Search |
US-SEARCH-007 | As a user, I want to paginate through search results by category | IONTEST-1251 | Pagination |
US-SEARCH-008 | As a user, I want to navigate search results using long-press navigation on TV | IONTEST-1266, IONTEST-1267 | TV navigation |
US-SEARCH-009 | As a user, I want search results to respect parental control settings | IONTEST-1303, IONTEST-1396 | Parental control |
US-SEARCH-010 | As a user, I want to see the Replay/Catchup screen and select content from different dates and genres | IONTEST-1253, IONTEST-1254 | Replay functionality |
US-SEARCH-011 | As an operator, I want to configure sorted search results | IONTEST-1257 | Operator config |
US-SEARCH-012 | As a user, I want to use Google Assist to search within ION | IONTEST-897, IONTEST-898, IONTEST-900, IONTEST-902, IONTEST-906, IONTEST-907, IONTEST-914, IONTEST-915 | Google Assist integration |
8. Settings Screen
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-SETTINGS-001 | As a user, I want to see and configure basic settings (audio language, subtitle language, resolution) | IONTEST-921, IONTEST-922, IONTEST-927, IONTEST-930 | Core settings |
US-SETTINGS-002 | As a user, I want to enable or disable subtitles and change subtitle language from Settings | IONTEST-748, IONTEST-921 | Subtitle settings |
US-SETTINGS-003 | As a user, I want to configure auto-play settings (off, WiFi only, always on) | IONTEST-933, IONTEST-938, IONTEST-939 | Auto-play settings |
US-SETTINGS-004 | As a user, I want to enable or disable UAV reporting | IONTEST-478, IONTEST-919, IONTEST-920, IONTEST-1468, IONTEST-1469 | UAV settings |
US-SETTINGS-005 | As a user, I want to access My Account and Sign Out from Settings | IONTEST-944 | Account in Settings |
US-SETTINGS-006 | As a user, I want to configure parental control PIN from Settings | IONTEST-943, IONTEST-1045, IONTEST-1051, IONTEST-1052, IONTEST-1210 | Parental PIN |
US-SETTINGS-007 | As a user, I want to change the app display language from Settings | IONTEST-1209 | Language selection |
US-SETTINGS-008 | As a user, I want to view only subscribed and unblocked channels based on my account settings | IONTEST-940, IONTEST-942 | Channel filtering |
US-SETTINGS-009 | As an operator, I want to configure the first-use setup screen | IONTEST-930 | First Use setup |
9. Video Player / Playback
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-PLAYER-001 | As a user, I want to play Live, Catch-Up, VOD, and NPVR content with standard player controls | IONTEST-1081, IONTEST-1085, IONTEST-1086, IONTEST-1088, IONTEST-1101, IONTEST-1102 | Core playback |
US-PLAYER-002 | As a user, I want the player overlay (surfer) to appear on OK press and auto-dismiss after timeout | IONTEST-1113, IONTEST-1114, IONTEST-1064 | Surfer behavior |
US-PLAYER-003 | As a user, I want to use Start Over to begin a live or catch-up event from the beginning | IONTEST-1075, IONTEST-1121, IONTEST-1125, IONTEST-736 | Start Over |
US-PLAYER-004 | As a user, I want to Jump to Live from Start Over or catch-up playback | IONTEST-1122, IONTEST-1129, IONTEST-1156, IONTEST-1157 | Jump to Live |
US-PLAYER-005 | As a user, I want to see a progress bar and airing time indicators for VOD, Catch-Up, and Start Over content | IONTEST-760, IONTEST-1069, IONTEST-1070, IONTEST-1071, IONTEST-1072, IONTEST-1073, IONTEST-1074, IONTEST-1116, IONTEST-1117 | Progress bar |
US-PLAYER-006 | As a user, I want to change audio language and subtitles during playback | IONTEST-730, IONTEST-749, IONTEST-750, IONTEST-1128 | Audio/subtitle |
US-PLAYER-007 | As a user, I want to mute/unmute the player and have the mute state persist across sessions | IONTEST-735, IONTEST-738, IONTEST-740, IONTEST-741, IONTEST-743 | Mute controls |
US-PLAYER-008 | As a user, I want ads to play before VOD content with player controls hidden during ad playback | IONTEST-752, IONTEST-753, IONTEST-754, IONTEST-755, IONTEST-756, IONTEST-758 | Ad playback |
US-PLAYER-009 | As a user, I want thumbnail previews while scrubbing the progress bar | IONTEST-722, IONTEST-729 | Thumbnail preview |
US-PLAYER-010 | As a user, I want bookmarks to be saved and resumed for catch-up and VOD content | IONTEST-560, IONTEST-571, IONTEST-599, IONTEST-1060, IONTEST-1094, IONTEST-1095, IONTEST-1099 | Bookmarks |
US-PLAYER-011 | As a user, I want to see a Live badge on the surfer when watching a live event | IONTEST-1133 | Live indicator |
US-PLAYER-012 | As a user, I want to open the media card info from the player | IONTEST-1131, IONTEST-1143 | Media card from Player |
US-PLAYER-013 | As a user, I want to play encrypted channels and DRM-protected content | IONTEST-1089, IONTEST-1098, IONTEST-595 | Encrypted playback |
US-PLAYER-014 | As a user, I want to see a Keep Watching popup after extended inactivity | IONTEST-160, IONTEST-161 | Inactivity timer |
US-PLAYER-015 | As a user, I want trick play controls to be disabled for content configured with FF disabled | IONTEST-671, IONTEST-672, IONTEST-673, IONTEST-674, IONTEST-675, IONTEST-676, IONTEST-677, IONTEST-678 | Disable FF |
US-PLAYER-016 | As a user, I want to cast content to a Cast device from the player | IONTEST-1424, IONTEST-1425, IONTEST-1426 | Cast support |
US-PLAYER-017 | As a user, I want to see an error message for content not available for catchup | IONTEST-742 | Catchup error |
US-PLAYER-018 | As a user, I want the player controls to be aligned RTL for Arabic language | IONTEST-1066 | RTL player |
US-PLAYER-019 | As a user, I want video playback to stop when the app goes to background if STOP_BACKGROUND_PLAYBACK is configured | IONTEST-1144 | Background playback |
US-PLAYER-020 | As a user, I want PME configured services to support all playback features including trick modes, start over, and language switching | IONTEST-893, IONTEST-895, IONTEST-901, IONTEST-903, IONTEST-905, IONTEST-910, IONTEST-913 | PME playback |
10. Notifications
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-NOTIF-001 | As a user, I want to receive push notifications (IP messages) from the operator in multiple languages | IONTEST-60, IONTEST-61, IONTEST-154, IONTEST-71 | Multi-language notifications |
US-NOTIF-002 | As an operator, I want to send targeted messages to specific devices or subscriber groups/topics | IONTEST-62, IONTEST-63, IONTEST-64, IONTEST-65, IONTEST-66 | Targeted messaging |
US-NOTIF-003 | As a user, I want to receive notifications when the app is in the foreground, background, or logged out | IONTEST-71, IONTEST-153, IONTEST-156 | Delivery states |
US-NOTIF-004 | As a user, I want to opt out of notifications via Allow Notifications setting | IONTEST-68, IONTEST-155 | Opt-out |
US-NOTIF-005 | As a user, I want to view a list of received notifications in the Notification menu | IONTEST-149, IONTEST-150, IONTEST-151 | Notification list |
US-NOTIF-006 | As a user, I want to see a popup when an IP message arrives in the foreground | IONTEST-158 | Foreground popup |
US-NOTIF-007 | As a user, I want Firebase notifications shown only when the app is in the background | IONTEST-148 | Background notifications |
US-NOTIF-008 | As an operator, I want the notification feature to be enabled/disabled via config per platform | IONTEST-149 | Operator config |
US-NOTIF-009 | As a user, I want reminders to be triggered for scheduled events | IONTEST-95, IONTEST-96 | Reminders |
11. Parental Control
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-PARENTAL-001 | As a user, I want to see a padlock icon on age-restricted content throughout the app | IONTEST-1046, IONTEST-387, IONTEST-437, IONTEST-539, IONTEST-572 | Padlock indicator |
US-PARENTAL-002 | As a user, I want to be prompted to enter a PIN when accessing parentally locked content | IONTEST-1048, IONTEST-395, IONTEST-682, IONTEST-334 | PIN prompt |
US-PARENTAL-003 | As a user, I want to create, change, or reset my parental PIN from Settings | IONTEST-1049, IONTEST-1051, IONTEST-1052, IONTEST-943 | PIN management |
US-PARENTAL-004 | As a user, I want all devices under the same account to share a parental PIN when GLOBAL_PIN is enabled | IONTEST-1050, IONTEST-1047 | PIN sharing |
US-PARENTAL-005 | As a user, I want locked content to remain inaccessible across event transitions | IONTEST-1045 | Continuous restriction |
US-PARENTAL-006 | As a user, I want to see No Rating for content with invalid or missing parental ratings | IONTEST-1092, IONTEST-1093 | Missing rating |
US-PARENTAL-007 | As an operator, I want to configure content restriction policies | IONTEST-1399, IONTEST-942 | Content restrictions |
12. User Profile / Account Management
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-ACCOUNT-001 | As an operator, I want to create subscriptions with specific channels and assign them to subscriber accounts | IONTEST-1096, IONTEST-1103, IONTEST-1104 | Subscription management |
US-ACCOUNT-002 | As an operator, I want to configure a maximum device limit per account | IONTEST-1097 | Device limits |
US-ACCOUNT-003 | As a user, I want to see a clear error when attempting to log in with a cancelled account | IONTEST-1100 | Account status errors |
US-ACCOUNT-004 | As an operator, I want to create pending and expired subscriptions and verify content access matches subscription status | IONTEST-1105, IONTEST-1106, IONTEST-622, IONTEST-623, IONTEST-624, IONTEST-625, IONTEST-626 | Subscription lifecycle |
US-ACCOUNT-005 | As a user, I want my NPVR recordings, bookmarks, continue watching, and favorites available across all devices | IONTEST-237, IONTEST-108 | Cross-device sync |
US-ACCOUNT-006 | As a user, I want to assign NPVR, SSM, In-home, and FIPS settings per account profile | IONTEST-238 | Per-account settings |
13. My List / Favorites
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-MYLIST-001 | As a user, I want to favorite/unfavorite events, channels, and VOD content from any screen | IONTEST-108, IONTEST-372, IONTEST-523, IONTEST-531, IONTEST-534, IONTEST-562, IONTEST-606 | Favorite content |
US-MYLIST-002 | As a user, I want changes to my favorites to be immediately reflected across all devices | IONTEST-108, IONTEST-237 | Cross-device sync |
US-MYLIST-003 | As a user, I want to see favorite icon status changes in the media card and player | IONTEST-523, IONTEST-524, IONTEST-531, IONTEST-532, IONTEST-533, IONTEST-534, IONTEST-562 | Icon state |
US-MYLIST-004 | As a user, I want to filter the EPG and Live screens by favorites | IONTEST-1329, IONTEST-999 | Favorite filter |
US-MYLIST-005 | As a user, I want a Firebase analytics event captured when I favorite content | IONTEST-473 | Analytics tracking |
14. Apps & Games
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-APPS-001 | As a user, I want to see and launch installed third-party apps and games from the Apps & Games menu | IONTEST-887, IONTEST-890 | App launching |
US-APPS-002 | As an operator, I want to show/hide the Apps & Games menu via platform config | IONTEST-889 | Operator config |
US-APPS-003 | As a user, I want to see games listed in the Apps & Games strip when games are available | IONTEST-890 | Games availability |
US-APPS-004 | As a user, I want focus to return to the previously focused app when launching Apps & Games | IONTEST-1422 | Focus management |
15. Recents
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-RECENTS-001 | As a user, I want to see a recently watched channels list launched by pressing the LEFT key | IONTEST-384, IONTEST-386, IONTEST-398 | Recents launch |
US-RECENTS-002 | As a user, I want the Recents list to start empty on first launch and grow as I watch channels | IONTEST-385, IONTEST-400 | First launch state |
US-RECENTS-003 | As a user, I want the Recents list to show padlock icons for parentally locked content | IONTEST-387, IONTEST-395 | Parental indicators |
US-RECENTS-004 | As a user, I want the Recents list size limited by a configurable max value | IONTEST-390 | Size limits |
US-RECENTS-005 | As a user, I want the Recents list to display in RTL mode when using Arabic | IONTEST-391 | RTL support |
US-RECENTS-006 | As a user, I want the Recents list retained after a device reboot or token expiry | IONTEST-393, IONTEST-401 | Persistence |
US-RECENTS-007 | As a user, I want the Recents list cleared when I log out and log in with a different account | IONTEST-394, IONTEST-402 | Privacy on logout |
US-RECENTS-008 | As a user, I want the Recents list dismissed when I access DCE | IONTEST-392 | DCE interaction |
US-RECENTS-009 | As a user, I want the Recents list updated when I switch channels or move from VOD to live | IONTEST-396, IONTEST-397 | List updates |
US-RECENTS-010 | As a user, I want the Recents list to not be available in offline mode | IONTEST-403 | Offline handling |
US-RECENTS-011 | As a user, I want to see a Live icon on live content in the Recents media card | IONTEST-1459 | Live indicator |
16. Timeline (Mini Guide)
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-TIMELINE-001 | As a user, I want the Timeline to appear when pressing up/down keys during live playback | IONTEST-421 | Timeline launch |
US-TIMELINE-002 | As a user, I want to dismiss the Timeline by pressing the back key | IONTEST-423 | Dismiss |
US-TIMELINE-003 | As a user, I want the Timeline to navigate to the forward EPG when pressing right | IONTEST-427 | EPG navigation |
US-TIMELINE-004 | As a user, I want to tune to a different channel by selecting it from the Timeline | IONTEST-431 | Channel switch |
US-TIMELINE-005 | As a user, I want the Timeline to display in RTL and show a favorite icon for favorited channels | IONTEST-436 | RTL and favorites |
US-TIMELINE-006 | As a user, I want to see padlock icons for parentally locked content in the Timeline | IONTEST-437, IONTEST-440 | Parental indicators |
US-TIMELINE-007 | As a user, I want the Timeline to auto-dismiss after a configured timeout with a visible progress bar | IONTEST-438 | Auto-dismiss |
US-TIMELINE-008 | As a user, I want the Timeline to be unavailable during VOD or NPVR playback | IONTEST-439 | Context restriction |
US-TIMELINE-009 | As a user, I want special keys (Menu, DCE) to work correctly when the Timeline is displayed | IONTEST-434 | Key handling |
17. EAS (Emergency Alert System)
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-EAS-001 | As a user, I want to be automatically switched to the EAS channel when an emergency alert is triggered | IONTEST-17, IONTEST-23, IONTEST-19 | EAS channel switch |
US-EAS-002 | As a user, I want the EAS channel playback to stop and return me to my previous content when the EAS period ends | IONTEST-10, IONTEST-11, IONTEST-24 | EAS end behavior |
US-EAS-003 | As a user, I want to see a static EAS message for the configured duration even without live video | IONTEST-7, IONTEST-8, IONTEST-9, IONTEST-17 | Static EAS message |
US-EAS-004 | As a user, I want EAS to function correctly when the device wakes from standby during an active alert | IONTEST-15, IONTEST-16 | Standby/wake behavior |
US-EAS-005 | As a user, I want the EAS notification shown after an EAS event ends and suppressed during the event | IONTEST-13 | EAS notifications |
US-EAS-006 | As a user, I want EAS not displayed when the app is signed out or there is no network | IONTEST-14 | Signed out/offline |
US-EAS-007 | As a user, I want EAS channel playback to recover from network fluctuations during the alert period | IONTEST-12 | Network resilience |
US-EAS-008 | As an operator, I want to deliver EAS alerts simultaneously to multiple devices and accounts | IONTEST-21, IONTEST-22 | Multi-device delivery |
US-EAS-009 | As an operator, I want EAS alerts to respect account status and product assignments | IONTEST-25, IONTEST-26, IONTEST-27, IONTEST-28, IONTEST-29 | Account eligibility |
US-EAS-010 | As a user, I want UI navigation to be restricted during an EAS message so that the alert cannot be dismissed prematurely | IONTEST-18, IONTEST-20 | Navigation restriction |
18. Binge Watching
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-BINGE-001 | As a user, I want the app to automatically play the next episode in a series after the current one ends | IONTEST-38, IONTEST-39, IONTEST-40, IONTEST-41, IONTEST-57 | Auto-play next |
US-BINGE-002 | As a user, I want to see a Play Next popup before the next episode begins | IONTEST-43, IONTEST-44, IONTEST-45 | Play Next popup |
US-BINGE-003 | As a user, I want binge watching to start from the first unwatched episode, skipping already-watched ones | IONTEST-38 | Watched tracking |
US-BINGE-004 | As a user, I want to start binge watching from Search, EPG, and Continue Watching strips | IONTEST-33, IONTEST-51 | Multi-entry points |
US-BINGE-005 | As a user, I want trick play controls to work correctly during binge watching | IONTEST-34, IONTEST-35 | Trick play |
US-BINGE-006 | As a user, I want the app to tune to live TV when I cancel binge watching or when there are no more episodes | IONTEST-36, IONTEST-41, IONTEST-57 | Fallback to live |
US-BINGE-007 | As a user, I want binge watching to show a PIN prompt for parentally locked episodes | IONTEST-37 | Parental control |
US-BINGE-008 | As a user, I want the media card to open when pressing Back during binge watching | IONTEST-42 | Back behavior |
US-BINGE-009 | As a user, I want binge watching to be resilient to BG/FG transitions, EAS interruptions, and IP messages | IONTEST-47, IONTEST-48, IONTEST-49 | Interruption resilience |
US-BINGE-010 | As a user, I want binge watching to continue across seasons | IONTEST-58 | Multi-season binge |
US-BINGE-011 | As a user, I want binge watching to work correctly when guard time, airing time, or in-home restrictions are configured | IONTEST-53, IONTEST-54, IONTEST-55 | Special channel configs |
19. Watch Next
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-WATCHNEXT-001 | As a user, I want to see a Watch Next strip suggesting what to watch after current content | IONTEST-457, IONTEST-471 | Watch Next strip |
US-WATCHNEXT-002 | As an operator, I want to configure Watch Next to prioritize Live or VOD content | IONTEST-460, IONTEST-461, IONTEST-463, IONTEST-466 | Content priority |
US-WATCHNEXT-003 | As an operator, I want to configure the maximum items in Watch Next | IONTEST-465 | Item count limit |
US-WATCHNEXT-004 | As an operator, I want to enable or disable the Watch Next strip via platform configuration | IONTEST-468 | Feature flag |
US-WATCHNEXT-005 | As a user, I want Watch Next not to appear when related episodes or recommendations are already available | IONTEST-458 | Availability logic |
US-WATCHNEXT-006 | As a user, I want to navigate Watch Next content and play parentally locked content with a PIN | IONTEST-469 | Navigation and parental |
US-WATCHNEXT-007 | As a user, I want to see an error when trying to play unsubscribed content from Watch Next | IONTEST-470 | Unsubscribed error |
20. Media Card
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-MEDIACARD-001 | As a user, I want to see a media card with full event details for any content | IONTEST-513, IONTEST-522, IONTEST-528, IONTEST-536, IONTEST-564, IONTEST-568 | Core media card |
US-MEDIACARD-002 | As a user, I want to play Live, Catch-Up, VOD, NPVR, and LTCU content from the media card | IONTEST-515, IONTEST-525, IONTEST-535, IONTEST-559, IONTEST-563, IONTEST-570 | Playback |
US-MEDIACARD-003 | As a user, I want to see series media cards with season and episode breakdowns | IONTEST-529, IONTEST-547, IONTEST-548 | Series media card |
US-MEDIACARD-004 | As a user, I want the Play button on a series media card to intelligently select the right episode | IONTEST-550, IONTEST-551, IONTEST-552, IONTEST-553, IONTEST-554, IONTEST-555, IONTEST-556, IONTEST-557, IONTEST-558, IONTEST-566 | Smart play button |
US-MEDIACARD-005 | As a user, I want to see a bookmark status bar in the media card | IONTEST-560 | Bookmark indicator |
US-MEDIACARD-006 | As a user, I want to see Related and Episodes strips in the media card | IONTEST-541, IONTEST-542, IONTEST-569 | Content strips |
US-MEDIACARD-007 | As a user, I want to see subscription-unavailable messages for unsubscribed content | IONTEST-514, IONTEST-518, IONTEST-538, IONTEST-561 | Subscription status |
US-MEDIACARD-008 | As a user, I want a BTV preview playback in the media card that I can switch to full-screen | IONTEST-545 | BTV preview |
US-MEDIACARD-009 | As a user, I want action items (favorite, reminder, record, info) available in the media card based on content type | IONTEST-537, IONTEST-567 | Action items |
US-MEDIACARD-010 | As a user, I want the media card synopsis to display in Arabic RTL when the app is in Arabic mode | IONTEST-526 | RTL support |
US-MEDIACARD-011 | As a user, I want padlock icons for parentally restricted content in media cards | IONTEST-539, IONTEST-572 | Parental indicators |
US-MEDIACARD-012 | As a user, I want to launch the media card from EPG, Saved, and Search screens | IONTEST-530, IONTEST-549, IONTEST-1242 | Multi-screen access |
21. Guard Time
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-GUARDTIME-001 | As a user, I want guard time to be correctly reflected in playback duration for NPVR, Catch-Up, and LTCU content | IONTEST-171, IONTEST-172, IONTEST-173, IONTEST-174, IONTEST-661 | Guard time display |
US-GUARDTIME-002 | As a user, I want bookmark positions to correctly account for guard time | IONTEST-660 | Bookmark accuracy |
US-GUARDTIME-003 | As an operator, I want to enable/disable guard time globally using the GUARD_TIME feature flag | IONTEST-659 | Feature flag |
US-GUARDTIME-004 | As a user, I want the surfer Start/End time to update correctly when using Start Over and Jump to Live on guard-time-enabled content | IONTEST-662, IONTEST-663, IONTEST-664 | Surfer time accuracy |
US-GUARDTIME-005 | As a user, I want to see a greyed-out Play icon for content within the immediate catchup guard window | IONTEST-665 | Immediate catchup guard |
US-GUARDTIME-006 | As a user, I want promoted magazine content to play correctly with guard time | IONTEST-666 | Promoted content |
US-GUARDTIME-007 | As a user, I want the 10s rewind control to correctly update the timeline when guard time is active | IONTEST-668 | Seek accuracy |
22. In-Home Detection
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-INHOME-001 | As an operator, I want to enable/disable in-home detection at the application level | IONTEST-628 | Feature toggle |
US-INHOME-002 | As a user, I want to play clear and encrypted content on my home network without restrictions | IONTEST-629, IONTEST-761 | Home network access |
US-INHOME-003 | As a user, I want to see an in-home error when accessing home-restricted content from outside the home network | IONTEST-633, IONTEST-763, IONTEST-765, IONTEST-766, IONTEST-767 | Out-of-home restriction |
US-INHOME-004 | As a user, I want to play LTCU, NPVR, and Live content from a private network when those channels have no restrictions | IONTEST-632, IONTEST-764 | Non-restricted content anywhere |
US-INHOME-005 | As a user, I want to book recordings on my home network and play them back on a private network | IONTEST-640, IONTEST-644, IONTEST-646 | Remote playback |
US-INHOME-006 | As a user, I want in-home detection to work correctly for SSM-enabled devices | IONTEST-631 | SSM interaction |
US-INHOME-007 | As a user, I want to see the in-home error when accessing parentally locked content from a private network | IONTEST-768 | Combined restrictions |
23. LTCU (Long-Term Catch-Up)
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-LTCU-001 | As a user, I want to browse and play LTCU content from the VOD/Browse screen | IONTEST-597, IONTEST-598 | LTCU browsing |
US-LTCU-002 | As a user, I want LTCU content to be bookmarked so that I can resume from where I left off | IONTEST-599 | Bookmarking |
US-LTCU-003 | As a user, I want to see LTCU content correctly labeled as On Demand in Search results | IONTEST-600, IONTEST-604 | Search display |
US-LTCU-004 | As a user, I want to see a VOD media card when accessing LTCU-enabled episodes from a series media card | IONTEST-601 | Media card type |
US-LTCU-005 | As a user, I want the correct content type played when an episode has LTCU, STCU, and Live all enabled | IONTEST-602 | Priority logic |
US-LTCU-006 | As a user, I want only a single episode entry when a content has LTCU enabled to avoid duplication | IONTEST-603 | Deduplication |
US-LTCU-007 | As a user, I want to see an error when trying to play LTCU content I am not subscribed to | IONTEST-605 | Unsubscribed error |
US-LTCU-008 | As a user, I want to use favorites with LTCU content | IONTEST-606 | Favorites integration |
US-LTCU-009 | As a user, I want LTCU to work correctly for both single and series content | IONTEST-608, IONTEST-609 | Content type support |
US-LTCU-010 | As a user, I want to search for LTCU content and access it via the LIVE to STCU to LTCU content flow | IONTEST-610 | Content flow |
US-LTCU-011 | As an operator, I want to configure LTCU at channel or event level and combine with STCU settings | IONTEST-612, IONTEST-614, IONTEST-615, IONTEST-616 | Configuration granularity |
US-LTCU-012 | As an operator, I want LTCU to support both encrypted and clear streams and have content purging work correctly | IONTEST-617, IONTEST-618 | Stream and purging |
24. SSM (Simultaneous Stream Management)
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-SSM-001 | As a user, I want to play encrypted content simultaneously from up to the configured number of devices | IONTEST-576, IONTEST-579 | Concurrent streams |
US-SSM-002 | As a user, I want to see a clear error message when I exceed the concurrent stream limit | IONTEST-577, IONTEST-583 | Limit exceeded error |
US-SSM-003 | As a user, I want to play content without SSM restrictions when the SSM flag is set to false | IONTEST-578 | SSM disabled |
US-SSM-004 | As a user, I want to start playback once another user on the same account closes their session at the concurrent limit | IONTEST-584 | Slot recovery |
US-SSM-005 | As a user, I want to see an error for auto-playback scenarios that exceed the concurrent limit | IONTEST-582 | Auto-play SSM error |
25. DeepLinking
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-DEEPLINK-001 | As a user, I want to see Watch options with deep link targets for VOD, Catchup, Live, NPVR, and Series content | IONTEST-986, IONTEST-989, IONTEST-990, IONTEST-993 | Core deep linking |
US-DEEPLINK-002 | As a user, I want to see a DeepLink popup to launch third-party apps for linked content | IONTEST-987 | Third-party app selection |
US-DEEPLINK-003 | As a user, I want to return to the ION media card after exiting a third-party app opened via deep link | IONTEST-988 | Return to ION |
US-DEEPLINK-004 | As a user, I want deep link options to display in RTL and all supported languages | IONTEST-991 | Localization |
US-DEEPLINK-005 | As a user, I want to access deep link options from Saved and Search screens | IONTEST-992 | Multi-screen access |
US-DEEPLINK-006 | As a user, I want to see an app not available message when a linked third-party app is not installed | IONTEST-994 | Missing app handling |
26. Channel Zapping & DCE
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-ZAPPING-001 | As a user, I want to switch channels using CH+/CH- remote keys without opening the guide | IONTEST-680, IONTEST-681 | Channel zapping |
US-ZAPPING-002 | As a user, I want CH+/CH- to work correctly after reboots, BG/FG transitions, and network disruptions | IONTEST-686, IONTEST-687, IONTEST-688, IONTEST-689, IONTEST-692 | Zapping resilience |
US-ZAPPING-003 | As a user, I want to see a parental PIN prompt when zapping to a locked channel | IONTEST-682 | Parental zapping |
US-ZAPPING-004 | As a user, I want to skip unsubscribed channels when using CH+/CH- | IONTEST-683 | Subscription-aware zapping |
US-ZAPPING-005 | As a user, I want to see a network error message if there is a disruption during channel switching | IONTEST-691 | Network disruption |
US-ZAPPING-006 | As a user, I want zapping to work correctly in RTL mode | IONTEST-690 | RTL support |
US-ZAPPING-007 | As a user, I want to enter a DCE number to tune directly to a specific channel | IONTEST-329, IONTEST-336, IONTEST-359 | DCE entry |
US-ZAPPING-008 | As a user, I want DCE to work from both the playback and EPG screens | IONTEST-333, IONTEST-354 | DCE contexts |
US-ZAPPING-009 | As a user, I want to see an error popup if I enter an invalid DCE number | IONTEST-329, IONTEST-331, IONTEST-332 | Invalid DCE |
US-ZAPPING-010 | As a user, I want to see a parental prompt when entering a restricted channel via DCE | IONTEST-334 | Parental DCE |
US-ZAPPING-011 | As a user, I want the DCE popup to display correctly in RTL mode | IONTEST-355 | RTL DCE |
US-ZAPPING-012 | As a user, I want to see a configurable channel loading indicator when switching channels | IONTEST-695, IONTEST-696, IONTEST-697, IONTEST-698, IONTEST-699, IONTEST-700, IONTEST-701 | Loading icon config |
27. Accessibility (Voice Over)
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-ACCESS-001 | As a visually impaired user, I want the screen reader to speak out channel details and event info when navigating the Timeline | IONTEST-1008, IONTEST-1011 | Timeline accessibility |
US-ACCESS-002 | As a visually impaired user, I want the screen reader to work in all supported languages | IONTEST-1010, IONTEST-1024 | Multilingual screen reader |
US-ACCESS-003 | As a visually impaired user, I want the first menu option to be spoken when the app launches or when exiting playback | IONTEST-1012, IONTEST-1013 | Focus announcement |
US-ACCESS-004 | As a visually impaired user, I want settings sub-options to be spoken as I navigate through them | IONTEST-1014, IONTEST-1025, IONTEST-1026 | Settings accessibility |
US-ACCESS-005 | As a visually impaired user, I want each digit I enter in the DCE popup to be announced | IONTEST-1017 | DCE accessibility |
US-ACCESS-006 | As a visually impaired user, I want parental locked channel information to be announced | IONTEST-1016 | Parental lock announcement |
US-ACCESS-007 | As a visually impaired user, I want event info, seasonal info, and current time to be spoken when navigating the EPG | IONTEST-1021, IONTEST-1022, IONTEST-1027 | EPG accessibility |
US-ACCESS-008 | As a visually impaired user, I want player surfer action items to be announced when highlighted | IONTEST-1028, IONTEST-1032 | Player accessibility |
US-ACCESS-009 | As a visually impaired user, I want content details announced during playback | IONTEST-1029, IONTEST-1031 | Playback accessibility |
US-ACCESS-010 | As a visually impaired user, I want the screen reader to NOT speak when video is loading or when there is no event info | IONTEST-1033, IONTEST-1034 | Silent loading states |
US-ACCESS-011 | As a visually impaired user, I want username/password field characters to be announced as I type | IONTEST-1040 | Login accessibility |
US-ACCESS-012 | As a visually impaired user, I want the sign-out and sign-in flow to announce the login page | IONTEST-1041 | Auth accessibility |
US-ACCESS-013 | As a visually impaired user, I want fast navigation in the Guide using RWND key to be announced | IONTEST-1036 | Fast nav accessibility |
28. Analytics (Google Analytics, UAV, Firebase)
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-ANALYTICS-001 | As an operator, I want to capture UAV playback metrics for Live, Catch-Up, VOD, Start Over, and NPVR content | IONTEST-283, IONTEST-284, IONTEST-285, IONTEST-286, IONTEST-287, IONTEST-288, IONTEST-289, IONTEST-290, IONTEST-317 | UAV playback metrics |
US-ANALYTICS-002 | As a user, I want to enable or disable UAV reporting from Settings | IONTEST-919, IONTEST-920, IONTEST-1468, IONTEST-1469 | UAV settings |
US-ANALYTICS-003 | As an operator, I want to capture Firebase analytics events to track user interactions | IONTEST-473 | Firebase events |
US-ANALYTICS-004 | As an operator, I want to see app install, update, uninstall, and first launch events in dashboards | IONTEST-1430, IONTEST-1431, IONTEST-1437 | App lifecycle analytics |
US-ANALYTICS-005 | As an operator, I want to see channel names, content types, and search keywords users engage with | IONTEST-1434, IONTEST-1441, IONTEST-1445, IONTEST-1446 | Content analytics |
US-ANALYTICS-006 | As an operator, I want to see demographic, geographic, and device information | IONTEST-1435, IONTEST-1438, IONTEST-1439 | Audience analytics |
US-ANALYTICS-007 | As an operator, I want to track active user trends, platform distribution, and app version adoption | IONTEST-1440, IONTEST-1443, IONTEST-1444 | Platform analytics |
US-ANALYTICS-008 | As an operator, I want to see screen-wise usage and notification analytics | IONTEST-1432, IONTEST-1447 | Screen analytics |
US-ANALYTICS-009 | As an operator, I want to capture playback error details for parental lock events, live events, and standby wakeups | IONTEST-1415, IONTEST-1416, IONTEST-1418, IONTEST-1419 | Playback error analytics |
29. TV Key (Platform-Specific)
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-TVKEY-001 | As a user, I want to see the Install a TV service page on first launch of a TV Key device | IONTEST-1356 | First launch page |
US-TVKEY-002 | As a user, I want to be directed to the TV Key Installer App Sign Up page when selecting Claro demo | IONTEST-1357 | Sign Up flow |
US-TVKEY-003 | As a user, I want to see my TV Key ID on the Activation page | IONTEST-1359 | Device ID display |
US-TVKEY-004 | As a user, I want to successfully activate my TV Key device | IONTEST-1360 | Device activation |
US-TVKEY-005 | As a user, I want the ION app to launch by default when the TV powers on | IONTEST-1361 | Default app launch |
US-TVKEY-006 | As a user, I want to see an Activation Failed message when network is unavailable during activation | IONTEST-1362, IONTEST-1363 | Activation failure |
US-TVKEY-007 | As a user, I want interruptions during activation to be handled gracefully | IONTEST-1364, IONTEST-1365, IONTEST-1366, IONTEST-1367 | Activation interruptions |
30. Netflix Integration
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-NETFLIX-001 | As a user, I want to see the Netflix channel in the EPG with its logo, channel number, and highlight | IONTEST-1213 | Netflix in EPG |
US-NETFLIX-002 | As a user, I want to launch the Netflix app by pressing OK/Play on the Netflix channel in the EPG or Timeline | IONTEST-1214, IONTEST-1219 | Netflix app launch |
US-NETFLIX-003 | As a user, I want to launch Netflix via Reverse EPG, DCE, or channel zap | IONTEST-1215 | Multiple launch paths |
US-NETFLIX-004 | As an operator, I want to enable/disable the Netflix feature via a flag | IONTEST-1216, IONTEST-1226 | Feature flag |
US-NETFLIX-005 | As a user, I want to see Netflix in the Discover screen with a placeholder tile | IONTEST-1221, IONTEST-1222, IONTEST-1228 | Netflix in Discover |
US-NETFLIX-006 | As a user, I want to launch Netflix through the Apps & Games menu | IONTEST-1225 | Netflix in Apps & Games |
US-NETFLIX-007 | As a user, I want Netflix to not appear in EPG on Mobile/Tablet/FireTV platforms | IONTEST-1224 | Platform-specific behavior |
US-NETFLIX-008 | As a user, I want Netflix tiles to display in my selected language | IONTEST-1230 | Localization |
31. Search Facade / Claro Video
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-CLARO-001 | As a user, I want to see Claro Video content in search results when Search Facade is enabled | IONTEST-1271, IONTEST-1272 | Claro in search |
US-CLARO-002 | As a user, I want to open a media card for Claro content that launches in the Claro app | IONTEST-1273 | Claro media card |
US-CLARO-003 | As a user, I want to see an info message when the Claro app is not installed | IONTEST-1274 | Missing app handling |
US-CLARO-004 | As a user, I want to use Google Assist to search for Claro content and launch the Claro app | IONTEST-1275, IONTEST-1279 | Google Assist + Claro |
US-CLARO-005 | As a user, I want Claro search terms to appear in Recent Searches in multiple languages | IONTEST-1276 | Recent searches |
US-CLARO-006 | As a user, I want to see Claro results in Mosaic poster view when the Claro filter is selected | IONTEST-1277 | Mosaic view |
US-CLARO-007 | As an operator, I want to independently enable/disable the Search Facade and Claro filter flags | IONTEST-1278 | Feature flags |
32. Long Run / Stability
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-STABILITY-001 | As an operator, I want the ION app to remain stable with live playback in the foreground for more than 24 hours | IONTEST-1369, IONTEST-1371, IONTEST-1372 | Foreground stability |
US-STABILITY-002 | As an operator, I want the ION app to remain stable with live playback in the background for more than 24 hours | IONTEST-1370 | Background stability |
US-STABILITY-003 | As an operator, I want the app to remain stable on all major screens during extended use | IONTEST-1371, IONTEST-1373, IONTEST-1374 | Screen stability |
US-STABILITY-004 | As an operator, I want the app to handle consecutive channel zapping over 1 hour without degradation | IONTEST-1463, IONTEST-1465 | Zap stability |
33. FireTV On-Now Strip
User Story ID | User Story | Related Test Cases | Notes |
|---|---|---|---|
US-FIRETV-001 | As a user, I want to see live channel previews in the FireTV home screen On-Now strip after logging in | IONTEST-1186, IONTEST-1189, IONTEST-1192 | On-Now strip display |
US-FIRETV-002 | As a user, I want the On-Now strip to show a progress bar indicating how far into the current event is | IONTEST-1188 | Progress bar |
US-FIRETV-003 | As a user, I want the On-Now strip to automatically refresh when events change or channels are added/removed | IONTEST-1190, IONTEST-1191, IONTEST-1203 | Auto-refresh |
US-FIRETV-004 | As a user, I want the ION app to be listed in the FireTV Live TV settings | IONTEST-1193 | FireTV settings integration |
US-FIRETV-005 | As a user, I want the On-Now strip to be retained after clearing cache or power cycling the FireTV | IONTEST-1196, IONTEST-1414 | Strip persistence |
US-FIRETV-006 | As a user, I want to launch a media card from the On-Now strip for live and future events | IONTEST-1197 | Media card from On-Now |
US-FIRETV-007 | As a user, I want the On-Now strip to update correctly when ION is running in the background | IONTEST-1201 | Background sync |
US-FIRETV-008 | As a user, I want the On-Now strip to be removed when the ION app is uninstalled | IONTEST-1195 | Uninstall cleanup |
US-FIRETV-009 | As a user, I want to launch the Guide from the On-Now strip | IONTEST-1187 | Guide navigation |
US-FIRETV-010 | As a user, I want in-home configured channels to appear correctly in the On-Now strip | IONTEST-1413 | In-home channels |
Generated from ION-TEST Xray test cases — IONTEST-7 through IONTEST-1471