Background
- Add one sentence summary on why were are doing this ticket with relevant context. Ensure you add context on how the outcome of this ticket will affect the end user
User story
- Add user story in the format: “As a [persona], I want to [X], so that [Y]”
Requirements
- Implement the final designs for the Special:ReadingLists pages specifically:
- sort functionality
- two new views : grid and view to replace the existing ones.
- Special:ReadingLists/<username> should show a list of lists that belong to the user in <username>. It's important this continues to work for compatibility with apps links.
- Special:ReadingLists/<username>/<id> should show a list of entries that belong to a specific list.It's important this continues to work for compatibility with apps links.
- The page should contain the list title/description, number of entries, view options, and multi-delete functionality.
- Make sure that the new special page does not break the import feature https://www.mediawiki.org/wiki/Extension:ReadingLists#Setting_up_import_functionality_with_apps
BDD
Feature: Special:ReadingLists page updates Scenario: User visits Special:ReadingLists Given I navigate to Special:ReadingLists Then I should see list sorting and the option to toggle between grid and list view Scenario: User views another user's ReadingLists Given I visit Special:ReadingLists/<username> Then I should see lists belonging to <username> Scenario: User views a specific list Given I visit Special:ReadingLists/<username>/<id> Then I should see the list title, description, number of entries, view toggle, and multi-delete options Scenario: Importing a list using the import parameter Given I visit Special:ReadingLists with a valid `limport` parameter Then the page should display the imported list preview properly
Test Steps
Test Case 1: Verify sorting and view options
- Go to https://test.wikipedia.org/wiki/Special:ReadingLists
- AC1: Confirm sorting dropdown is available
- AC2: Confirm user can toggle between grid and list views
Test Case 2: View other user's lists
- Navigate to https://test.wikipedia.org/wiki/Special:ReadingLists/<username>
- AC3: Confirm lists specific to "ExampleUser" are displayed correctly
Test Case 3: View a specific list
- Navigate to https://test.wikipedia.org/wiki/Special:ReadingLists/<username>/<id>
- AC4: Confirm the list title and description are shown
- AC5: Confirm the number of entries is accurate
- AC6: Confirm view toggle and multi-delete are present and functional
Test Case 4: Validate import functionality
- Visit https://test.wikipedia.org/wiki/Special:ReadingLists?limport=eyJuYW1lIjoiUXVhbnR1bSBwaHlzaWNzIHN0dWR5IG1hdGVyaWFscyIsImRlc2NyaXB0aW9uIjoiTXkgc3R1ZHkgZ3VpZGUgZm9yIGxlYXJuaW5nIHRoZSBiYXNpY3Mgb2YgcXVhbnR1bSBtZWNoYW5pY3MiLCJsaXN0Ijp7ImVuIjpbNTk4NzRdLCJydSI6WzU5ODc0XX19
- AC7: Confirm the imported list is rendered properly without error
Design
| Description | Vector (desktop) | Minerva (mobile) |
|---|---|---|
| Grid view | ||
| Compact view | ||
| Sort options | ||
| Empty list | ||
Acceptance criteria
- Add acceptance criteria
Communication criteria - does this need an announcement or discussion?
- Add communication criteria
Rollback plan
- What is the rollback plan in production for this task if something goes wrong?
QA Results - Prod
| AC | Status | Details |
|---|---|---|
| 1 | ❌ | T394716#10952651 |
| 2 | ❌ | T394716#10952651 |
| 3 | ❌ | T394716#10952651 |
| 4 | ❌ | T394716#10952651 |
| 5 | ❌ | T394716#10952651 |
| 6 | ❌ | T394716#10952651 |
| 7 | ⬜ | T394716#10952651 |










