Background
The Random Article module shows a single card featuring a randomly selected Wikipedia article. It is intentionally playful: when the user scrolls to this module, a shake animation plays on the card to signal that the user can physically shake their device to surface a new random article.
Every For You card shares the same persistent chrome: Wikipedia logo (top left), Community tab access, language switcher dropdown (showing user-configured languages + link to language settings; changing language refreshes the module content in the selected language without leaving the module), and notification bell. The bottom navigation bar is always visible.
The three-dot more menu on each card surfaces four options: Save, Share, Hide card, Hide module, and Customize interests.
User Story
As a Wikipedia reader who enjoys serendipitous discovery, I want to be surprised by a random article, so that I can stumble onto topics I would never have searched for myself.
Requirements
- This module displays ONE randomly selected Wikipedia articles
- The random article updates every day, unless the user hard-refreshes the feed
- If a user chooses to "hide this card", replace the random article with a new one or hide the random module for that day
- The card displays: reason label ('Random article'), article title, three-dot more menu, and a short text excerpt (Paragraph).
- The article's top image is used as a full-bleed background. If no image exists, a gradient background is shown.
- Tapping the card navigates the user to the full article.
- The three-dot more menu on this card includes the standard options: Save, Share, Hide module, Customize interests.
- Provide a shuffle button
- On tap, lead to the existing randomizer button
- When the user navigates back from the randomizer to the feed. It should still be the same randomized article they originally saw.
- Add module into settings screen (Order: Based on your interests, Because You Read, Continue Reading, Places of Interest, Discover Recommendations, Random, Games)
Design
Derived Requirement
Ensure the For You Feed displays a Random Article module containing a single randomly selected Wikipedia article that updates daily unless the feed is hard refreshed, displays the required article metadata, background image or gradient fallback, shuffle functionality, and supports navigation to the article while preserving the originally displayed random article when returning from the randomizer.
Ensure the Random Article module supports the standard card actions, persistent feed chrome, language switching without leaving the module, hide card behavior, and availability within the feed settings screen in the specified module order.
Test Steps
Test Case 1: Ensure the Random Article module displays a single random article
- Log in to the mobile application.
- Open the For You Feed.
- Locate the Random Article module.
- Verify only one article card is displayed within the module.
- ✅❓❌⬜ AC1: The Random Article module displays exactly one randomly selected Wikipedia article.
Test Case 2: Ensure the Random Article card displays all required metadata
- Open the For You Feed.
- Locate the Random Article module.
- Verify the card displays the "Random article" reason label.
- Verify the article title is displayed.
- Verify the three-dot more menu is displayed.
- Verify a short article excerpt is displayed.
- ✅❓❌⬜ AC2: The Random Article card displays the reason label, article title, three-dot more menu, and short article excerpt.
Test Case 3: Ensure article images display as a full-bleed background
- Open the For You Feed.
- Locate a Random Article card associated with an article containing a lead image.
- Verify the article image is displayed as a full-bleed card background.
- ✅❓❌⬜ AC3: Articles with images display the lead image as a full-bleed card background.
Test Case 4: Ensure a gradient background is displayed when no article image exists
- Open the For You Feed.
- Locate a Random Article card associated with an article that does not contain a lead image.
- Verify a gradient background is displayed.
- ✅❓❌⬜ AC4: Articles without images display a gradient background.
Test Case 5: Ensure tapping the card navigates to the article
- Open the For You Feed.
- Locate the Random Article card.
- Tap the card.
- Verify the associated article opens.
- ✅❓❌⬜ AC5: Tapping the Random Article card navigates the user to the associated article.
Test Case 6: Ensure the random article remains unchanged during the same day
- Open the For You Feed.
- Record the article displayed in the Random Article module.
- Navigate away from the feed.
- Return to the For You Feed without performing a hard refresh.
- Verify the same article is displayed.
- ✅❓❌⬜ AC6: The Random Article module displays the same article throughout the day unless the feed is hard refreshed.
Test Case 7: Ensure a hard refresh updates the random article
- Open the For You Feed.
- Record the article displayed in the Random Article module.
- Perform a hard refresh of the feed.
- Return to the Random Article module.
- Verify a new random article is displayed.
- ✅❓❌⬜ AC7: A hard refresh updates the Random Article module with a different random article.
Test Case 8: Ensure the shuffle button launches the existing randomizer
- Open the For You Feed.
- Locate the shuffle button within the Random Article module.
- Tap the shuffle button.
- Verify the existing randomizer experience opens.
- ✅❓❌⬜ AC8: Tapping the shuffle button launches the existing randomizer.
Test Case 9: Ensure the original random article is preserved after returning from the randomizer
- Open the For You Feed.
- Record the article displayed in the Random Article module.
- Tap the shuffle button.
- Open the randomizer experience.
- Navigate back to the For You Feed.
- Verify the originally displayed Random Article card remains unchanged.
- ✅❓❌⬜ AC9: Returning from the randomizer preserves the originally displayed random article in the feed.
Test Case 10: Ensure the Hide card action replaces or removes the card for the day
- Open the For You Feed.
- Open the three-dot menu on the Random Article card.
- Select the Hide card option if available.
- Observe the module behavior.
- ✅❓❌⬜ AC10: Hiding the card replaces the random article with a new one or hides the Random Article module for the remainder of the day.
Test Case 11: Ensure the three-dot menu displays the required actions
- Open the For You Feed.
- Open the three-dot menu on the Random Article card.
- Verify the Save option is displayed.
- Verify the Share option is displayed.
- Verify the Hide module option is displayed.
- Verify the Customize interests option is displayed.
- ✅❓❌⬜ AC11: The three-dot menu displays Save, Share, Hide module, and Customize interests options.
Test Case 12: Ensure persistent feed chrome is displayed
- Open the For You Feed.
- Navigate to the Random Article module.
- Verify the Wikipedia logo is displayed.
- Verify Community tab access is displayed.
- Verify the language switcher is displayed.
- Verify the notification bell is displayed.
- Verify the bottom navigation bar is displayed.
- ✅❓❌⬜ AC12: The Random Article module displays the standard persistent feed chrome elements.
Test Case 13: Ensure language switching refreshes module content without leaving the module
- Open the For You Feed.
- Navigate to the Random Article module.
- Open the language switcher.
- Select another configured language.
- Verify the module content refreshes in the selected language.
- Verify the user remains within the module.
- ✅❓❌⬜ AC13: Changing the language refreshes module content without leaving the Random Article module.
Test Case 14: Ensure the Random Article module can be managed from Feed Settings
- Open Feed Settings.
- Locate the list of configurable feed modules.
- Verify the Random module is present.
- Verify it appears after Discover Recommendations and before Games.
- ✅❓❌⬜ AC14: The Random module appears in Feed Settings in the specified module order.
QA Results - Beta
| AC | Status | Details |
|---|---|---|
| 1 | ✅ | T419755#12003103 |
| 2 | ✅ | T419755#12003103 |
| 3 | ⬜ | T419755#12006333 |
| 4 | ⬜ | T419755#12006333 |
| 5 | ✅ | T419755#12003103 |
| 6 | ✅ | T419755#12003103 |
| 7 | ✅ | T419755#12003103 |
| 8 | ✅ | T419755#12003103 |
| 9 | ✅ | T419755#12003103 |
| 10 | ✅ | T419755#12006333 |
| 11 | ✅ | T419755#12003103 |
| 12 | ✅ | T419755#12003103 |
| 13 | ✅ | T419755#12003103 |
| 14 | ⬜ | T419755#12006333 |




