Skip to content

Settings & Profile

QA test plan covering profile settings, account management, security, privacy, notifications, social connections, and public profile views.


Route: /settings/profile

IDDescriptionPreconditionsStepsExpected ResultPriority
SET-P-001Update display nameLogged in1. Navigate to /settings/profile 2. Change name field 3. Click SaveName updates successfully; toast confirmation shownP0
SET-P-002Update username with valid unique valueLogged in1. Enter a new unique username 2. Click SaveUsername updates; profile URL changes to new usernameP0
SET-P-003Reject duplicate usernameLogged in; another user has username “taken123”1. Enter “taken123” as username 2. Click SaveError message indicating username is already takenP0
SET-P-004Reject invalid username charactersLogged in1. Enter username with spaces or special characters 2. Attempt saveValidation error; only alphanumeric and underscores allowedP1
SET-P-005Update bioLogged in1. Enter bio text 2. Click SaveBio updates and displays on public profileP1
SET-P-006Update bio with max lengthLogged in1. Enter bio exceeding character limit 2. Attempt saveValidation prevents exceeding max lengthP2
SET-P-007Update website URLLogged in1. Enter a valid URL in website field 2. Click SaveWebsite link saved and clickable on profileP1
SET-P-008Reject invalid website URLLogged in1. Enter “not-a-url” in website field 2. Attempt saveValidation error for invalid URL formatP2
SET-P-009Update countryLogged in1. Select country from dropdown 2. Click SaveCountry updates and displays on profileP1
SET-P-010Update cityLogged in1. Enter city name 2. Click SaveCity updates and displays on profileP1
SET-P-011Update categoryLogged in1. Select category from options 2. Click SaveCategory saved; reflected on profileP1
SET-P-012Upload profile avatarLogged in1. Click avatar upload 2. Select image file 3. SaveAvatar updates; new image shown on profile and settingsP0
SET-P-013Clear optional fieldsLogged in; bio, website, city populated1. Clear bio, website, and city fields 2. Click SaveFields cleared; no longer shown on public profileP2

Route: /settings/account

IDDescriptionPreconditionsStepsExpected ResultPriority
SET-A-001Display current emailLogged in1. Navigate to /settings/accountCurrent email address is displayedP0
SET-A-002Change email addressLogged in1. Enter new email 2. Confirm 3. Verify via email linkEmail updates after verification; confirmation toast shownP0
SET-A-003Reject invalid email formatLogged in1. Enter “invalid-email” 2. Attempt saveValidation error for invalid emailP1
SET-A-004Delete accountLogged in1. Click “Delete Account” 2. Confirm in modal 3. Enter passwordAccount deleted; user logged out and redirected to homeP0
SET-A-005Cancel account deletionLogged in1. Click “Delete Account” 2. Click Cancel in confirmation modalModal closes; no changes madeP1
SET-A-006Reject account deletion with wrong passwordLogged in1. Click “Delete Account” 2. Enter incorrect password 3. ConfirmError message; account not deletedP0

Route: /settings/security

IDDescriptionPreconditionsStepsExpected ResultPriority
SET-S-001Change passwordLogged in1. Enter current password 2. Enter new password 3. Confirm new password 4. SubmitPassword updated; confirmation shownP0
SET-S-002Reject password change with wrong current passwordLogged in1. Enter incorrect current password 2. Enter new password 3. SubmitError: “Incorrect current password”P0
SET-S-003Reject weak new passwordLogged in1. Enter current password 2. Enter “123” as new password 3. SubmitValidation error for weak passwordP1
SET-S-004Reject mismatched password confirmationLogged in1. Enter new password 2. Enter different confirmation 3. SubmitValidation error: passwords do not matchP1
SET-S-005View active sessionsLogged in1. Navigate to /settings/securityList of active sessions displayed with device/browser infoP1
SET-S-006Revoke a sessionLogged in; multiple active sessions1. Click “Revoke” on a session 2. ConfirmSession revoked; removed from listP1
SET-S-007Revoke all other sessionsLogged in; multiple active sessions1. Click “Revoke All Other Sessions” 2. ConfirmAll sessions except current are revokedP2

Route: /settings/privacy

IDDescriptionPreconditionsStepsExpected ResultPriority
SET-PR-001Enable follower approvalLogged in1. Toggle follower approval ON 2. SaveNew follow requests require manual approvalP0
SET-PR-002Disable follower approvalLogged in; approval enabled1. Toggle follower approval OFF 2. SaveNew followers are accepted automaticallyP0
SET-PR-003Approve pending follow requestFollower approval enabled; pending request exists1. View pending requests 2. Click ApproveFollower added; requestor sees following statusP0
SET-PR-004Reject pending follow requestFollower approval enabled; pending request exists1. View pending requests 2. Click RejectRequest removed; requestor not added as followerP1
SET-PR-005Set profile visibility to privateLogged in1. Set profile visibility to private 2. SaveNon-followers see limited profile; posts hiddenP0
SET-PR-006Set profile visibility to publicLogged in; profile is private1. Set profile visibility to public 2. SaveAll users can view full profile and postsP0
SET-PR-007Restrict DM permissionsLogged in1. Set DMs to “Followers only” 2. SaveNon-followers cannot initiate DM conversationsP1
SET-PR-008Allow DMs from everyoneLogged in1. Set DMs to “Everyone” 2. SaveAny user can initiate DM conversationsP1
SET-PR-009Block a userLogged in; viewing another user’s profile1. Click Block 2. ConfirmUser blocked; cannot view your profile or message youP0
SET-PR-010Unblock a userLogged in; user is blocked1. Navigate to blocked users list 2. Click UnblockUser unblocked; can view profile and message againP0
SET-PR-011Blocked user cannot view blocker’s profileUser A has blocked User B1. Log in as User B 2. Navigate to User A’s profileProfile not accessible; appropriate message shownP0

Route: /settings/notifications

IDDescriptionPreconditionsStepsExpected ResultPriority
SET-N-001Toggle email notificationsLogged in1. Toggle email notifications OFF 2. SaveNo email notifications sent for new activityP1
SET-N-002Toggle push notificationsLogged in1. Toggle push notifications OFF 2. SaveNo push notifications sentP1
SET-N-003Toggle notification by type (likes)Logged in1. Disable “Likes” notifications 2. SaveNo notifications for likes; other types still activeP1
SET-N-004Toggle notification by type (comments)Logged in1. Disable “Comments” notifications 2. SaveNo notifications for commentsP1
SET-N-005Toggle notification by type (follows)Logged in1. Disable “Follows” notifications 2. SaveNo notifications for new followersP1
SET-N-006Toggle notification by type (messages)Logged in1. Disable “Messages” notifications 2. SaveNo notifications for new messagesP1
SET-N-007Enable all notification typesLogged in; some disabled1. Enable all notification types 2. SaveAll notification types activeP2
SET-N-008Settings persist after logout/loginLogged in; custom notification settings1. Log out 2. Log back in 3. Check notification settingsPreviously saved settings are preservedP1

Route: /settings/social

IDDescriptionPreconditionsStepsExpected ResultPriority
SET-SO-001Connect Google accountLogged in; no Google account linked1. Click “Connect Google” 2. Complete Google OAuth flowGoogle account linked; shown as connectedP0
SET-SO-002Disconnect Google accountLogged in; Google account linked1. Click “Disconnect” on Google accountGoogle account unlinked; option to reconnect shownP1
SET-SO-003View connected accountsLogged in1. Navigate to /settings/socialList of connected/available social accounts displayedP1
SET-SO-004Google OAuth failure handlingLogged in1. Click “Connect Google” 2. Cancel/deny OAuth promptReturned to settings with error message; no account linkedP2

Route: /profile/[username]

IDDescriptionPreconditionsStepsExpected ResultPriority
SET-PV-001View own public profileLogged in1. Navigate to /profile/[own-username]Profile displays name, avatar, bio, statsP0
SET-PV-002View another user’s profileLogged in1. Navigate to /profile/[other-username]Public profile displayed with follow buttonP0
SET-PV-003View profile blog tabViewing a profile1. Click “Blog” tabUser’s blog posts displayedP1
SET-PV-004View profile store tabViewing a profile with store1. Click “Store” tabUser’s products displayedP1
SET-PV-005View profile plans tabViewing a profile with plans1. Click “Plans” tabUser’s subscription plans displayedP1
SET-PV-006View followers tabViewing a profile1. Click “Followers” tabList of followers displayedP1
SET-PV-007View following tabViewing a profile1. Click “Following” tabList of accounts user follows displayedP1
SET-PV-008View links tabViewing a profile with links1. Click “Links” tabUser’s links displayedP2
SET-PV-009View book tabViewing a profile with book1. Click “Book” tabUser’s booking page or book content displayedP2
SET-PV-010Follow user from profileLogged in; not following target user1. Click “Follow” buttonFollowing status updates; follower count incrementsP0
SET-PV-011Unfollow user from profileLogged in; following target user1. Click “Unfollow” button 2. ConfirmFollowing status updates; follower count decrementsP0
SET-PV-012View non-existent profileLogged in1. Navigate to /profile/nonexistent-user-xyz404 page or “User not found” message displayedP1
SET-PV-013View private profile as non-followerLogged in; target profile is private; not following1. Navigate to private user’s profileLimited profile shown; posts/tabs hidden; follow request option shownP0