Skip to content

Social Features Tests

Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-001Feed loads with postsUser is signed in and follows at least one user with posts1. Navigate to /feed.Feed displays posts from followed users in reverse chronological order. Loading skeleton is shown then replaced with content.P0
SOC-002Infinite scroll paginationFeed has more posts than initial page size1. 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-003Story tray displayed at topFollowed users have active stories1. Navigate to /feed.Story tray appears above the feed with circular avatars. Users with unseen stories have a highlighted ring.P1
SOC-004Ad cards interspersed in feedAds are configured in the system1. Navigate to /feed. 2. Scroll through posts.Ad cards appear at configured intervals. Ads are labeled as “Sponsored”.P2
SOC-005Empty feed stateUser follows no one or no posts exist1. Navigate to /feed.Empty state is shown with suggestions to follow users or explore content.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-010Create text-only postUser is signed in1. 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-011Create post with imageUser is signed in1. 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-012Create post with multiple mediaUser is signed in1. Open post composer. 2. Attach multiple images or a video. 3. Click “Post”.Post is created with media gallery or video player.P1
SOC-013Post character limit enforcementNone1. Open post composer. 2. Enter text exceeding the character limit.Character counter shows limit exceeded. Post button is disabled.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-015Edit own post textUser has an existing post1. 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-016Cannot edit another user’s postViewing another user’s post1. Navigate to another user’s post. 2. Open post menu.”Edit” option is not present in the menu.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-018Delete own postUser has an existing post1. 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-019Cannot delete another user’s postViewing another user’s post1. Open post menu on another user’s post.”Delete” option is not present (unless user is admin/moderator).P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-020View single post pagePost exists1. Navigate to /post/[valid-id].Post is displayed with full content, comments, reactions. Author info and timestamp shown.P0
SOC-021Non-existent post shows 404None1. Navigate to /post/invalid-id.404 page or “Post not found” message displayed.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-030Add comment to a postUser is signed in, viewing a post1. Navigate to a post. 2. Enter comment text. 3. Click “Comment” or press Enter.Comment appears under the post. Comment count increments.P0
SOC-031Delete own commentUser has a comment on a post1. Find own comment. 2. Click comment menu. 3. Click “Delete”. 4. Confirm.Comment is removed. Comment count decrements.P1
SOC-032Cannot delete another user’s commentViewing another user’s comment1. Open comment menu on another user’s comment.”Delete” option is not present (unless user is post author or moderator).P1
SOC-033Empty comment rejectedUser is signed in, viewing a post1. Click “Comment” with empty text field.Comment is not submitted. Submit button is disabled or validation error shown.P2
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-040Add emoji reaction to a postUser is signed in, viewing a post1. 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-041Remove emoji reactionUser has reacted to a post1. Click the same emoji reaction again.Reaction is removed. Count decrements. Highlight is removed.P1
SOC-042Heart/like toggleUser is signed in, viewing a post1. Click the heart/like button.Heart fills and count increments. 2. Click again. Heart unfills and count decrements.P0
SOC-043Reaction persists after page reloadUser has reacted to a post1. React to a post. 2. Reload the page.Reaction is still present and highlighted for the user.P2
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-050Bookmark a postUser is signed in, viewing a post1. Click the bookmark icon on a post.Post is saved to bookmarks. Icon state changes to “bookmarked”.P1
SOC-051Remove bookmark from a postPost is already bookmarked1. Click the bookmark icon on a bookmarked post.Bookmark is removed. Icon state returns to default.P1
SOC-052View bookmarked postsUser has bookmarked posts1. Navigate to /bookmarks.All bookmarked posts are listed. Posts, products, and jobs are organized by type or tab.P1
SOC-053Bookmark a productUser is signed in, viewing a product listing1. Click bookmark icon on a product.Product is saved to bookmarks under the products tab.P2
SOC-054Bookmark a job listingUser is signed in, viewing a job1. Click bookmark icon on a job listing.Job is saved to bookmarks under the jobs tab.P2
SOC-055Empty bookmarks stateUser has no bookmarks1. Navigate to /bookmarks.Empty state message is displayed.P2
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-060Create a storyUser is signed in1. 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-061View storiesFollowed users have active stories1. Click on a user’s story avatar in the story tray.Story viewer opens. Stories auto-advance. Progress bar shown at top.P1
SOC-062Story expiry after 24 hoursStory was posted more than 24 hours ago1. Wait 24 hours. 2. Check story tray.Expired story is no longer visible in the story tray.P2
SOC-063Navigate between storiesMultiple users have stories1. Open story viewer. 2. Tap right to advance. 3. Tap left to go back.Navigation between story items and users works correctly.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-070Follow a userUser is signed in, viewing another user’s profile1. Click “Follow” button on the user’s profile.Button changes to “Following”. User appears in following list. Their posts appear in feed.P0
SOC-071Unfollow a userUser is following another user1. Click “Following” button. 2. Confirm unfollow.Button changes back to “Follow”. User is removed from following list.P1
SOC-072Accept follow requestUser has follow requests enabled and a pending request1. Navigate to follow requests. 2. Click “Accept”.Requester is added to followers. They can now see the user’s content.P1
SOC-073Decline follow requestUser has a pending follow request1. Navigate to follow requests. 2. Click “Decline”.Request is removed. Requester is not added to followers.P1
SOC-074Follower approval settingUser has a private account1. Have another user click “Follow”.”Follow” button changes to “Requested”. Follow is pending until approved.P1
SOC-075Follower count updatesNone1. Follow a user. 2. Check their profile.Follower count increments by 1. Following count on own profile increments by 1.P2
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-080View saved draftsUser has saved drafts1. Navigate to /drafts.List of draft posts displayed with preview text and timestamps.P1
SOC-081Publish a draftUser has a saved draft1. 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-082Delete a draftUser has a saved draft1. Navigate to /drafts. 2. Click delete on a draft. 3. Confirm.Draft is permanently removed.P2
SOC-083Auto-save draftUser starts composing a post1. Open post composer. 2. Enter text. 3. Close composer without posting.Content is auto-saved as a draft. Available in /drafts.P2
Test IDDescriptionPreconditionsStepsExpected ResultPriority
SOC-090Discovery feed loadsUser is signed in1. Navigate to /explore.Discovery feed displays trending and recommended content from users the current user does not follow.P1
SOC-091Trending content displayedSystem has trending content data1. Navigate to /explore.Trending section shows popular posts, hashtags, or topics.P2
SOC-092Search from explore pageUser is on explore page1. Use the search bar on /explore. 2. Enter a query.Search results displayed for users, posts, and tags matching the query.P1