Social Features Tests
Feed (/feed)
Section titled “Feed (/feed)”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-001 | Feed loads with posts | User is signed in and follows at least one user with posts | 1. Navigate to /feed. | Feed displays posts from followed users in reverse chronological order. Loading skeleton is shown then replaced with content. | P0 |
| SOC-002 | Infinite scroll pagination | Feed has more posts than initial page size | 1. Navigate to /feed. 2. Scroll to the bottom of the loaded posts. | Next page of posts loads automatically. Loading spinner shown during fetch. No duplicate posts. | P1 |
| SOC-003 | Story tray displayed at top | Followed users have active stories | 1. Navigate to /feed. | Story tray appears above the feed with circular avatars. Users with unseen stories have a highlighted ring. | P1 |
| SOC-004 | Ad cards interspersed in feed | Ads are configured in the system | 1. Navigate to /feed. 2. Scroll through posts. | Ad cards appear at configured intervals. Ads are labeled as “Sponsored”. | P2 |
| SOC-005 | Empty feed state | User follows no one or no posts exist | 1. Navigate to /feed. | Empty state is shown with suggestions to follow users or explore content. | P1 |
Create Post
Section titled “Create Post”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-010 | Create text-only post | User is signed in | 1. Click “Create Post” or the post composer. 2. Enter text content. 3. Click “Post”. | Post is created and appears at the top of the feed. Success confirmation shown. | P0 |
| SOC-011 | Create post with image | User is signed in | 1. Open post composer. 2. Enter text. 3. Attach an image. 4. Click “Post”. | Post is created with image displayed. Image is properly resized and compressed. | P0 |
| SOC-012 | Create post with multiple media | User is signed in | 1. Open post composer. 2. Attach multiple images or a video. 3. Click “Post”. | Post is created with media gallery or video player. | P1 |
| SOC-013 | Post character limit enforcement | None | 1. Open post composer. 2. Enter text exceeding the character limit. | Character counter shows limit exceeded. Post button is disabled. | P1 |
Edit Post
Section titled “Edit Post”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-015 | Edit own post text | User has an existing post | 1. Navigate to own post. 2. Click post menu. 3. Click “Edit”. 4. Modify text. 5. Click “Save”. | Post text is updated. “Edited” label is displayed. | P1 |
| SOC-016 | Cannot edit another user’s post | Viewing another user’s post | 1. Navigate to another user’s post. 2. Open post menu. | ”Edit” option is not present in the menu. | P1 |
Delete Post
Section titled “Delete Post”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-018 | Delete own post | User has an existing post | 1. Navigate to own post. 2. Click post menu. 3. Click “Delete”. 4. Confirm deletion. | Post is removed from the feed. Confirmation dialog shown before deletion. | P1 |
| SOC-019 | Cannot delete another user’s post | Viewing another user’s post | 1. Open post menu on another user’s post. | ”Delete” option is not present (unless user is admin/moderator). | P1 |
View Single Post (/post/[id])
Section titled “View Single Post (/post/[id])”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-020 | View single post page | Post exists | 1. Navigate to /post/[valid-id]. | Post is displayed with full content, comments, reactions. Author info and timestamp shown. | P0 |
| SOC-021 | Non-existent post shows 404 | None | 1. Navigate to /post/invalid-id. | 404 page or “Post not found” message displayed. | P1 |
Comments
Section titled “Comments”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-030 | Add comment to a post | User is signed in, viewing a post | 1. Navigate to a post. 2. Enter comment text. 3. Click “Comment” or press Enter. | Comment appears under the post. Comment count increments. | P0 |
| SOC-031 | Delete own comment | User has a comment on a post | 1. Find own comment. 2. Click comment menu. 3. Click “Delete”. 4. Confirm. | Comment is removed. Comment count decrements. | P1 |
| SOC-032 | Cannot delete another user’s comment | Viewing another user’s comment | 1. Open comment menu on another user’s comment. | ”Delete” option is not present (unless user is post author or moderator). | P1 |
| SOC-033 | Empty comment rejected | User is signed in, viewing a post | 1. Click “Comment” with empty text field. | Comment is not submitted. Submit button is disabled or validation error shown. | P2 |
Reactions
Section titled “Reactions”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-040 | Add emoji reaction to a post | User is signed in, viewing a post | 1. Click the reaction button on a post. 2. Select an emoji. | Reaction is added. Reaction count for that emoji increments. User’s reaction is highlighted. | P1 |
| SOC-041 | Remove emoji reaction | User has reacted to a post | 1. Click the same emoji reaction again. | Reaction is removed. Count decrements. Highlight is removed. | P1 |
| SOC-042 | Heart/like toggle | User is signed in, viewing a post | 1. Click the heart/like button. | Heart fills and count increments. 2. Click again. Heart unfills and count decrements. | P0 |
| SOC-043 | Reaction persists after page reload | User has reacted to a post | 1. React to a post. 2. Reload the page. | Reaction is still present and highlighted for the user. | P2 |
Bookmarks (/bookmarks)
Section titled “Bookmarks (/bookmarks)”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-050 | Bookmark a post | User is signed in, viewing a post | 1. Click the bookmark icon on a post. | Post is saved to bookmarks. Icon state changes to “bookmarked”. | P1 |
| SOC-051 | Remove bookmark from a post | Post is already bookmarked | 1. Click the bookmark icon on a bookmarked post. | Bookmark is removed. Icon state returns to default. | P1 |
| SOC-052 | View bookmarked posts | User has bookmarked posts | 1. Navigate to /bookmarks. | All bookmarked posts are listed. Posts, products, and jobs are organized by type or tab. | P1 |
| SOC-053 | Bookmark a product | User is signed in, viewing a product listing | 1. Click bookmark icon on a product. | Product is saved to bookmarks under the products tab. | P2 |
| SOC-054 | Bookmark a job listing | User is signed in, viewing a job | 1. Click bookmark icon on a job listing. | Job is saved to bookmarks under the jobs tab. | P2 |
| SOC-055 | Empty bookmarks state | User has no bookmarks | 1. Navigate to /bookmarks. | Empty state message is displayed. | P2 |
Stories
Section titled “Stories”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-060 | Create a story | User is signed in | 1. Click “Add Story” or the + icon in the story tray. 2. Upload an image or video. 3. Optionally add text overlay. 4. Click “Share”. | Story is published. Appears in the story tray for followers. | P1 |
| SOC-061 | View stories | Followed users have active stories | 1. Click on a user’s story avatar in the story tray. | Story viewer opens. Stories auto-advance. Progress bar shown at top. | P1 |
| SOC-062 | Story expiry after 24 hours | Story was posted more than 24 hours ago | 1. Wait 24 hours. 2. Check story tray. | Expired story is no longer visible in the story tray. | P2 |
| SOC-063 | Navigate between stories | Multiple users have stories | 1. Open story viewer. 2. Tap right to advance. 3. Tap left to go back. | Navigation between story items and users works correctly. | P1 |
Follow System
Section titled “Follow System”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-070 | Follow a user | User is signed in, viewing another user’s profile | 1. Click “Follow” button on the user’s profile. | Button changes to “Following”. User appears in following list. Their posts appear in feed. | P0 |
| SOC-071 | Unfollow a user | User is following another user | 1. Click “Following” button. 2. Confirm unfollow. | Button changes back to “Follow”. User is removed from following list. | P1 |
| SOC-072 | Accept follow request | User has follow requests enabled and a pending request | 1. Navigate to follow requests. 2. Click “Accept”. | Requester is added to followers. They can now see the user’s content. | P1 |
| SOC-073 | Decline follow request | User has a pending follow request | 1. Navigate to follow requests. 2. Click “Decline”. | Request is removed. Requester is not added to followers. | P1 |
| SOC-074 | Follower approval setting | User has a private account | 1. Have another user click “Follow”. | ”Follow” button changes to “Requested”. Follow is pending until approved. | P1 |
| SOC-075 | Follower count updates | None | 1. Follow a user. 2. Check their profile. | Follower count increments by 1. Following count on own profile increments by 1. | P2 |
Drafts (/drafts)
Section titled “Drafts (/drafts)”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-080 | View saved drafts | User has saved drafts | 1. Navigate to /drafts. | List of draft posts displayed with preview text and timestamps. | P1 |
| SOC-081 | Publish a draft | User has a saved draft | 1. Navigate to /drafts. 2. Click on a draft. 3. Click “Publish”. | Draft is published as a post. Removed from drafts list. Appears in feed. | P1 |
| SOC-082 | Delete a draft | User has a saved draft | 1. Navigate to /drafts. 2. Click delete on a draft. 3. Confirm. | Draft is permanently removed. | P2 |
| SOC-083 | Auto-save draft | User starts composing a post | 1. Open post composer. 2. Enter text. 3. Close composer without posting. | Content is auto-saved as a draft. Available in /drafts. | P2 |
Explore (/explore)
Section titled “Explore (/explore)”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SOC-090 | Discovery feed loads | User is signed in | 1. Navigate to /explore. | Discovery feed displays trending and recommended content from users the current user does not follow. | P1 |
| SOC-091 | Trending content displayed | System has trending content data | 1. Navigate to /explore. | Trending section shows popular posts, hashtags, or topics. | P2 |
| SOC-092 | Search from explore page | User is on explore page | 1. Use the search bar on /explore. 2. Enter a query. | Search results displayed for users, posts, and tags matching the query. | P1 |