...
- Appearance / availability / functionality of post actions and labels based on user role
- reporting (flagging) - always available to all users
- Students' reported status should only indicate whether or not they individually reported the post
- TAs / Mods / Admins see the reported status when any user has reported the post
- When TAs / Mods / Admins un-report reported posts, the changed status should take effect for all users
- voting - always available to all user types on threads and responses (not comments)
- pinning - only changeable by TAs / Mods / Admins
- closing - only changeable by TAs / Mods / Admins
- endorsing - only for discussion responses - only changeable by TAs / Mods / Admins
- marking as answer - only for question responses - only changeable by thread author and TAs / Mods / Admins
- following - available to all user types at thread level only
- editing and deleting - always available to TAs / Mods / Admins or the content author
- reporting (flagging) - always available to all users
- Correct behavior for Discussion threads vs Question threads
- endorsement rules differ for authors - they can only endorse (mark answers) on question threads
- responses marked as question answers are always clearly designated as such (appear in a separate section, include answer marker and date info)
- answered and unanswered questions are always clearly distinguished from discussion threads in the sidebar
- New sidebar thread list filters
- Flagged thread filter is only available to TAs / Mods / Admins
- Unread thread filter accurately filters unread threads for the presently active user
- Filters correctly interact with category selection (discussion categories, "posts i'm following" filter)
- searches
- Tabs vs. inline: thread display should look and behave the same in both tab and inline mode
- AJAX - post actions (voting, pinning, following, reporting, closing) should be exercised to ensure they continue to function correctly.
- Errors can be deliberately triggered by killing the comments service and/or the LMS
- Closed threads: we should ensure we haven't regressed behavior with regard to closed threads.
- example: on recent inspection of our branch the "add a comment" box currently appears on closed threads, which may or may not be a regression.