Appearance
QA Scenarios & Acceptance Criteria ​
Purpose: Canonical scenarios for manual and automated testing. Audience: QA, Developer Prerequisites: Test users, seeded data.
Explore Listings (Search & Filter) ​
Acceptance Criteria
- Filtering with no results shows a friendly empty state
- Special characters are sanitized in search
- Rapid filter changes do not cause duplicate requests
- Pagination works at boundaries; filters reset correctly
Gherkin
gherkin
Scenario: Filtering returns no results
Given no listings match the selected filters
When the user applies these filters
Then the listings grid displays an empty state message
Scenario: User enters special characters in search
When the user searches for "DROP TABLE users;"
Then the input is sanitized and no error occursListing Detail & Contact/Offer ​
Acceptance Criteria
- Non-auth or non-premium cannot make offers (prompt to upgrade)
- Non-existent/deleted listing shows error page
- Seller cannot make an offer on own listing
- Duplicate offers handled (update or reject)
Gherkin
gherkin
Scenario: Non-premium user tries to make an offer
Given the user is not a premium member
When they click "Make Offer"
Then they are prompted to upgrade membershipUpgrade Membership ​
Acceptance Criteria
- Cannot purchase same plan twice
- Failed payment shows clear feedback; no status change
- Cancel returns to pricing with no changes
- Downgrade/cancel keeps access until period end
Transaction & Transfer ​
Acceptance Criteria
- Offers cannot be accepted after listing is sold
- Both parties must confirm transfer before funds release
- Document uploads validated for type/size
- Checklist completion requires all steps confirmed
Dashboard & Messaging ​
Acceptance Criteria
- Unread badge updates in real time
- No cross-user dashboard/message access
- Long histories are paginated; rapid sends ok
Blog/FAQ/Onboarding ​
Acceptance Criteria
- Blog/FAQ handle empty states
- Invalid article/FAQ id returns error page
- Onboarding can be restarted from dashboard
Admin Panel ​
Acceptance Criteria
- Only admin users access admin panel
- Invalid actions handled gracefully
- Exported CSV matches filtered data
Related
- Testing Strategy:
docs/testing/strategy.md - Troubleshooting:
docs/troubleshooting/common-issues.md