Admin Panel
QA test plan covering admin dashboard, user management, reports, content moderation, product approval, categories, jobs, blacklist, ads, and access control.
Access Control
Section titled “Access Control”| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-AC-001 | Admin can access admin routes | Logged in as admin | 1. Navigate to /admin | Admin dashboard loads successfully | P0 |
| ADM-AC-002 | Regular user cannot access admin routes | Logged in as regular user | 1. Navigate to /admin | Redirected to home or shown 403 Forbidden | P0 |
| ADM-AC-003 | Moderator cannot access admin-only routes | Logged in as moderator | 1. Navigate to /admin/users | Access denied or limited to moderator permissions | P0 |
| ADM-AC-004 | Unauthenticated user cannot access admin routes | Not logged in | 1. Navigate to /admin | Redirected to login page | P0 |
| ADM-AC-005 | Direct URL access to admin sub-routes blocked | Logged in as regular user | 1. Enter /admin/reports directly in browser | Redirected or shown 403 | P1 |
Dashboard
Section titled “Dashboard”Route: /admin
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-D-001 | Display total users count | Logged in as admin | 1. Navigate to /admin | Total registered users stat displayed | P0 |
| ADM-D-002 | Display total posts count | Logged in as admin | 1. Navigate to /admin | Total posts stat displayed | P0 |
| ADM-D-003 | Display total reports count | Logged in as admin | 1. Navigate to /admin | Pending reports stat displayed | P1 |
| ADM-D-004 | Display total products count | Logged in as admin | 1. Navigate to /admin | Total products stat displayed | P1 |
| ADM-D-005 | Stats reflect real-time data | Logged in as admin; new user just registered | 1. Refresh /admin | User count reflects the new registration | P2 |
User Management
Section titled “User Management”Route: /admin/users
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-U-001 | List all users | Logged in as admin | 1. Navigate to /admin/users | Paginated list of users displayed | P0 |
| ADM-U-002 | Search users by name | Logged in as admin | 1. Enter name in search field 2. Submit | Matching users displayed in results | P0 |
| ADM-U-003 | Search users by email | Logged in as admin | 1. Enter email in search field 2. Submit | Matching user displayed | P0 |
| ADM-U-004 | Update user role to admin | Logged in as admin | 1. Select a user 2. Change role to “admin” 3. Save | User role updated to admin | P0 |
| ADM-U-005 | Update user role to moderator | Logged in as admin | 1. Select a user 2. Change role to “moderator” 3. Save | User role updated to moderator | P0 |
| ADM-U-006 | Update user role to regular user | Logged in as admin; target is moderator | 1. Select user 2. Change role to “user” 3. Save | User role downgraded to regular user | P1 |
| ADM-U-007 | Suspend a user | Logged in as admin | 1. Select a user 2. Set status to “suspended” 3. Save | User status set to suspended; user cannot log in | P0 |
| ADM-U-008 | Ban a user | Logged in as admin | 1. Select a user 2. Set status to “banned” 3. Save | User status set to banned; user permanently blocked | P0 |
| ADM-U-009 | Reactivate a suspended user | Logged in as admin; user is suspended | 1. Select user 2. Set status to “active” 3. Save | User reactivated; can log in again | P0 |
| ADM-U-010 | Verify a user | Logged in as admin | 1. Select an unverified user 2. Click “Verify” | User marked as verified; verification badge shown | P1 |
| ADM-U-011 | Search with no results | Logged in as admin | 1. Search for “zzz_nonexistent_user” | Empty state shown; “No users found” message | P2 |
Reports
Section titled “Reports”Route: /admin/reports
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-R-001 | View pending reports | Logged in as admin | 1. Navigate to /admin/reports | List of pending reports displayed | P0 |
| ADM-R-002 | View report details | Logged in as admin; reports exist | 1. Click on a report | Report details shown: reporter, reported content, reason | P0 |
| ADM-R-003 | Take action on a report | Logged in as admin | 1. Open a report 2. Select action (warn/suspend/remove content) 3. Submit | Action applied; report status updated to resolved | P0 |
| ADM-R-004 | Dismiss a report | Logged in as admin | 1. Open a report 2. Click “Dismiss” | Report dismissed; removed from pending list | P1 |
| ADM-R-005 | Filter reports by status | Logged in as admin | 1. Filter reports by “resolved” | Only resolved reports shown | P2 |
| ADM-R-006 | Empty reports state | Logged in as admin; no pending reports | 1. Navigate to /admin/reports | ”No pending reports” message displayed | P2 |
Post Moderation
Section titled “Post Moderation”Route: /admin/posts
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-PM-001 | Review flagged posts | Logged in as admin | 1. Navigate to /admin/posts | List of posts for review displayed | P0 |
| ADM-PM-002 | Delete a post | Logged in as admin | 1. Select a post 2. Click “Delete” 3. Confirm | Post removed from platform; no longer visible to users | P0 |
| ADM-PM-003 | View post content before deleting | Logged in as admin | 1. Click on a post to preview | Full post content displayed for review | P1 |
| ADM-PM-004 | Approve a flagged post | Logged in as admin | 1. Select a flagged post 2. Click “Approve” | Post unflagged; remains visible | P1 |
Product Approval
Section titled “Product Approval”Route: /admin/products
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-PA-001 | View products pending approval | Logged in as admin | 1. Navigate to /admin/products | List of pending products displayed | P0 |
| ADM-PA-002 | Approve a product | Logged in as admin | 1. Select a product 2. Click “Approve” | Product approved; visible in marketplace | P0 |
| ADM-PA-003 | Reject a product | Logged in as admin | 1. Select a product 2. Click “Reject” 3. Enter reason | Product rejected; seller notified with reason | P0 |
| ADM-PA-004 | Preview product before approval | Logged in as admin | 1. Click on a pending product | Product details, images, and pricing shown | P1 |
Category Management
Section titled “Category Management”Route: /admin/categories
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-C-001 | View all categories | Logged in as admin | 1. Navigate to /admin/categories | List of all categories displayed | P0 |
| ADM-C-002 | Create a new category | Logged in as admin | 1. Click “Add Category” 2. Enter name and details 3. Save | Category created; appears in category list | P0 |
| ADM-C-003 | Edit a category | Logged in as admin | 1. Select a category 2. Modify name 3. Save | Category name updated | P1 |
| ADM-C-004 | Delete a category | Logged in as admin; category has no products | 1. Select a category 2. Click “Delete” 3. Confirm | Category removed from list | P1 |
| ADM-C-005 | Prevent deleting category with products | Logged in as admin; category has associated products | 1. Attempt to delete category | Warning or error: category in use | P1 |
| ADM-C-006 | Create category with duplicate name | Logged in as admin | 1. Enter name of existing category 2. Save | Error: category name already exists | P2 |
Job Moderation
Section titled “Job Moderation”Route: /admin/jobs
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-J-001 | View jobs pending review | Logged in as admin | 1. Navigate to /admin/jobs | List of pending jobs displayed | P0 |
| ADM-J-002 | Approve a job listing | Logged in as admin | 1. Select a job 2. Click “Approve” | Job published; visible in job listings | P0 |
| ADM-J-003 | Reject a job listing | Logged in as admin | 1. Select a job 2. Click “Reject” 3. Enter reason | Job rejected; poster notified | P1 |
| ADM-J-004 | Preview job details | Logged in as admin | 1. Click on a pending job | Full job details displayed for review | P1 |
Blacklist
Section titled “Blacklist”Route: /admin/blacklist
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-BL-001 | View blacklisted entries | Logged in as admin | 1. Navigate to /admin/blacklist | List of blacklisted items displayed | P0 |
| ADM-BL-002 | Add entry to blacklist | Logged in as admin | 1. Click “Add” 2. Enter value (email/IP/word) 3. Save | Entry added to blacklist | P0 |
| ADM-BL-003 | Remove entry from blacklist | Logged in as admin | 1. Select an entry 2. Click “Remove” 3. Confirm | Entry removed from blacklist | P1 |
| ADM-BL-004 | Blacklisted email cannot register | Entry in blacklist | 1. Attempt to register with blacklisted email | Registration blocked; appropriate error shown | P0 |
Ads Management
Section titled “Ads Management”Route: /admin/ads
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| ADM-AD-001 | View ads pending approval | Logged in as admin | 1. Navigate to /admin/ads | List of pending ads displayed | P0 |
| ADM-AD-002 | Approve an ad | Logged in as admin | 1. Select an ad 2. Click “Approve” | Ad approved; scheduled for display | P0 |
| ADM-AD-003 | Reject an ad | Logged in as admin | 1. Select an ad 2. Click “Reject” 3. Enter reason | Ad rejected; advertiser notified | P1 |
| ADM-AD-004 | Preview ad content | Logged in as admin | 1. Click on a pending ad | Ad creative, targeting, and details displayed | P1 |