Steps to replicate the issue (include links if applicable):
- Vote on a wish
- Edit votes manually and append characters to the username. If the user is Admin, make it Adminsss
What happens?:
Support wish is disabled even tho there are no votes from the current username.
What should have happened instead?:
Support wish should be enabled since there are no usernames matching the current user on the /votes page
Derived Requirement
The vote-checking logic for detecting whether a user has already voted must use exact username matching. Pattern-based or substring-based matching (e.g., treating Adminsss as Admin) must be prevented to avoid false positives.
Test Steps
Test Case 1: Exact Match Required
- Log in as a user with username Admin.
- Submit a vote on a wish.
- ✅❓❌⬜ AC1: Confirm the vote is recorded and the "Support wish" button is disabled.
Test Case 2: Modified Username with Extra Characters
- Manually edit the votes list to append characters to the username (e.g., Adminsss).
- Refresh the wish voting interface.
- ✅❓❌⬜ AC2: Confirm the "Support wish" button is enabled since Adminsss is not the same as Admin.
Test Case 3: Similar but Different Usernames
- Create or log in as a different user with a similar name (e.g., Admin1).
- Try voting on the same wish.
- ✅❓❌⬜ AC3: Confirm the new user can vote without being blocked by the existing vote from Admin.
Test Case 4: Case Sensitivity
- Test voting logic with usernames that differ only in case (e.g., admin vs. Admin).
- ✅❓❌⬜ AC4: Confirm behavior follows MediaWiki’s standard username handling (case-insensitive first letter, case-sensitive remainder).
Test Case 5: Integrity of Vote Page
- Inspect the /votes page to ensure usernames are stored exactly as submitted.
- ✅❓❌⬜ AC5: Confirm no substring matching is applied during vote validation.
QA Results - Meta Beta
| AC | Status | Details |
|---|---|---|
| 1 | ✅ | T404994#11202748 |
| 2 | ✅ | Pass per T404994#11204069 |
| 3 | ✅ | Pass per T404994#11204069 |
| 4 | ✅ | T404994#11202748 |
| 5 | ✅ | T404994#11202748 |


