iSpeaker Live iSpeaker Live / Docs
QA Catalogue

🧪 Test Scenarios

Every scenario we plan to exercise across the platform — grouped by module and risk.

How to read this page

This is the test scenarios catalogue — a high-level inventory of what we test and why. Each scenario has one or more detailed test cases in the Test Cases page (linked by ID).

Scenario ID convention

SCN-<MODULE>-<NUM> — e.g. SCN-AUTH-01 for the first Authentication scenario.

Risk labels

  • Critical — money, security, or data integrity. Must pass before launch.
  • High — core feature; failure blocks a primary user journey.
  • Medium — important but recoverable; users can work around it.
  • Low — polish & nice-to-have. Tracked but not blocking.

Authentication & Account

Critical: bad auth = no platform. Validate all happy paths and the common failure modes.

SCN-AUTH-01 User registration with valid data Auth Risk: Critical
Description
Verify that a new visitor can register a Student account using valid name, email, password, and optional phone.
Objectives
  • Validate field-level rules
  • Confirm default role is Student
  • Confirm wallet auto-created
Related cases
TC-AUTH-01, TC-AUTH-02
SCN-AUTH-02 User registration with invalid / duplicate data Auth Risk: High
Description
Verify error handling for invalid email, weak password, duplicate email, duplicate username, duplicate phone.
Related cases
TC-AUTH-03, TC-AUTH-04, TC-AUTH-05
SCN-AUTH-03 Login with email or phone Auth Risk: Critical
Description
Verify login with correct and incorrect credentials returns appropriate response.
Related cases
TC-AUTH-06, TC-AUTH-07
SCN-AUTH-04 Password reset flow Auth Risk: High
Description
Verify the forgot-password flow: request email → token → reset → login with new password.
Related cases
TC-AUTH-08
SCN-AUTH-05 Session management Auth Risk: High
Description
List active sessions, revoke specific session, logout, logout-everywhere.
Related cases
TC-AUTH-09, TC-AUTH-10
SCN-AUTH-06 Role-based access control Auth Risk: Critical
Description
Ensure students cannot access speaker-only endpoints (publishing, statistics) and vice versa where applicable.
Related cases
TC-AUTH-11
SCN-AUTH-07 Account deletion Auth Risk: High
Description
User can delete their own account; data is soft-deleted; user can no longer log in.
Related cases
TC-AUTH-12

Profile & Identity

Profile is the entry point into the social graph and the marketplace. Visual & data integrity here matters.

SCN-PROF-01 View and edit profile Profile Risk: High
Description
User can view own profile, update name, bio, headline, social links, save successfully.
Related cases
TC-PROF-01, TC-PROF-02
SCN-PROF-02 Avatar & cover upload Profile Risk: Medium
Description
Upload a valid image; reject oversized / wrong MIME; old image replaced.
Related cases
TC-PROF-03, TC-PROF-04
SCN-PROF-03 Interests selection Profile Risk: Medium
Description
Add and remove category interests; persisted and reflected in suggestions.
Related cases
TC-PROF-05
SCN-PROF-04 Certificates & experiences CRUD Profile Risk: Medium
Description
Create, edit, reorder, delete certificate and experience entries on a speaker profile.
Related cases
TC-PROF-06, TC-PROF-07
SCN-PROF-05 Privacy modes Profile Risk: High
Description
Toggle private profile. Verify non-followers see limited info and must send a follow request.
Related cases
TC-PROF-08
SCN-PROF-06 Password change Profile Risk: High
Description
Change password with correct old password; reject if old password is wrong.
Related cases
TC-PROF-09

Social Feed

Highest-traffic surface — must be fast, responsive, and forgiving.

SCN-FEED-01 Create posts of every type Feed Risk: High
Description
Text, image, video, audio posts each create successfully and render in the feed.
Related cases
TC-FEED-01, TC-FEED-02, TC-FEED-03, TC-FEED-04
SCN-FEED-02 Feed loading & pagination Feed Risk: High
Description
Feed renders newest first; pull-to-refresh works on mobile; pagination loads more.
Related cases
TC-FEED-05
SCN-FEED-03 Reactions (6 types) Feed Risk: High
Description
Pick each reaction; only one active at a time per user; counter updates immediately.
Related cases
TC-FEED-06
SCN-FEED-04 Comments & threading Feed Risk: High
Description
Add a comment, reply to comment, edit own comment, delete; counter updates.
Related cases
TC-FEED-07, TC-FEED-08
SCN-FEED-05 Sharing & pinning Feed Risk: Medium
Description
Share post internally with comment; copy external link; pin own post (only one pinned).
Related cases
TC-FEED-09
SCN-FEED-06 Report a post Feed Risk: High
Description
Report with each category; appears in admin moderation queue.
Related cases
TC-FEED-10
SCN-FEED-07 Trending hashtags & search Feed Risk: Medium
Description
Trending list updates over time; clicking a hashtag opens its page; search returns results.
Related cases
TC-FEED-11

Follow System

Verifies privacy controls and counters across the social graph.

SCN-FOLL-01 Follow / unfollow public profile Follow Risk: High
Description
Tap follow → counter updates; unfollow → reverts. Follower lists update.
Related cases
TC-FOLL-01
SCN-FOLL-02 Follow request flow on private profile Follow Risk: High
Description
Send request → recipient sees in inbox → accept/reject → counts adjust.
Related cases
TC-FOLL-02, TC-FOLL-03
SCN-FOLL-03 Bulk request actions Follow Risk: Medium
Description
Accept all / reject all bulk operations clear inbox.
Related cases
TC-FOLL-04
SCN-FOLL-04 Remove a follower Follow Risk: Medium
Description
Owner removes a follower; that user must re-request to follow again.
Related cases
TC-FOLL-05

Courses

Authoring and consumption: high stakes for both speakers and students.

SCN-CRS-01 Speaker creates a complete course Courses Risk: Critical
Description
Speaker creates a draft course → adds sections & lessons → uploads media → publishes.
Objectives
  • Validate field rules
  • Verify ordering & reorder
  • Confirm publish requires required fields
Related cases
TC-CRS-01, TC-CRS-02, TC-CRS-03
SCN-CRS-02 Course publishing rules Courses Risk: High
Description
Cannot publish without at least one lesson; cannot publish without thumbnail; unpublish allowed.
Related cases
TC-CRS-04
SCN-CRS-03 Preview lesson access Courses Risk: High
Description
Lessons flagged as preview are watchable without purchase; non-preview returns 403.
Related cases
TC-CRS-05
SCN-CRS-04 Student purchases & enrolls Courses Risk: Critical
Description
Buy course → enrollment created → appears in My Learning → player accessible.
Related cases
TC-CRS-06
SCN-CRS-05 Progress tracking & completion Courses Risk: High
Description
Watch a lesson — watched_duration accumulates; mark complete — overall progress %; 100% issues certificate.
Related cases
TC-CRS-07, TC-CRS-08
SCN-CRS-06 Lesson notes Courses Risk: Medium
Description
Add note with timestamp; edit; delete; visible per lesson and aggregated per course.
Related cases
TC-CRS-09
SCN-CRS-07 Course rating & reviews Courses Risk: Medium
Description
Enrolled user can rate & review; non-enrolled cannot. Average rating updates.
Related cases
TC-CRS-10

Books

DRM & preview limits are the highest-risk areas here.

SCN-BOOK-01 Speaker publishes a book Books Risk: High
Description
Upload PDF, set metadata, set preview pages, allow_printing/copying flags, publish.
Related cases
TC-BOOK-01
SCN-BOOK-02 Public preview pages Books Risk: High
Description
Any visitor sees first N pages; further pages require purchase.
Related cases
TC-BOOK-02
SCN-BOOK-03 Purchase & access in reader Books Risk: Critical
Description
Buy book → appears in library → reader opens full PDF.
Related cases
TC-BOOK-03
SCN-BOOK-04 Annotations (highlight, note, underline, bookmark) Books Risk: High
Description
Create each annotation type, edit, delete; persist across sessions.
Related cases
TC-BOOK-04, TC-BOOK-05
SCN-BOOK-05 Reading progress Books Risk: Medium
Description
Page count, total pages read, reading time minutes update correctly.
Related cases
TC-BOOK-06
SCN-BOOK-06 DRM & flags Books Risk: Critical
Description
When allow_copying=false, copy is disabled. When allow_printing=false, print is disabled. Tokens expire and refresh.
Related cases
TC-BOOK-07

Live Rooms

Real-time + payments — verify under both fast and slow networks.

SCN-ROOM-01 Speaker schedules a room Rooms Risk: High
Description
Create room with start/end date & time, duration_type, free or paid, max participants.
Related cases
TC-ROOM-01
SCN-ROOM-02 Free room registration & join Rooms Risk: Critical
Description
Student registers for free room → at start, Join button activates → Jitsi launches.
Related cases
TC-ROOM-02, TC-ROOM-03
SCN-ROOM-03 Paid room registration & approval Rooms Risk: Critical
Description
Pay → pending → speaker approves → student notified → can join at start.
Related cases
TC-ROOM-04, TC-ROOM-05
SCN-ROOM-04 In-room chat & pinning Rooms Risk: High
Description
Real-time messages delivered to all participants; speaker can pin/unpin and delete.
Related cases
TC-ROOM-06
SCN-ROOM-05 End session & recordings Rooms Risk: High
Description
Speaker ends room → status completed → recordings (if enabled) appear in room detail.
Related cases
TC-ROOM-07
SCN-ROOM-06 Reminders & cancellations Rooms Risk: Medium
Description
Push + in-app reminders fire; registered student can cancel before start.
Related cases
TC-ROOM-08

Consultations

Booking + payments + Jitsi — high integration complexity.

SCN-CONS-01 Speaker sets availability Consultations Risk: High
Description
Define weekly availability slots with duration & price per session.
Related cases
TC-CONS-01
SCN-CONS-02 Student books consultation Consultations Risk: Critical
Description
Pick speaker → date → slot → pay → booking pending → speaker accepts → student notified.
Related cases
TC-CONS-02, TC-CONS-03
SCN-CONS-03 Cancel & refund policy Consultations Risk: High
Description
Cancel before threshold → refund; cancel after → no refund (per policy).
Related cases
TC-CONS-04
SCN-CONS-04 Join session & complete Consultations Risk: Critical
Description
Both parties join Jitsi meeting; speaker marks complete; wallet credited.
Related cases
TC-CONS-05
SCN-CONS-05 Post-session rating Consultations Risk: Medium
Description
Student rates speaker; review optional; average updates on speaker profile.
Related cases
TC-CONS-06

Marketplace & Cart

Conversion-critical. Bugs here directly affect revenue.

SCN-MKT-01 Browse & filter marketplace Marketplace Risk: High
Description
Filter by category, language, level, price; sort; results match filters.
Related cases
TC-MKT-01
SCN-MKT-02 Cart operations Cart Risk: High
Description
Add course / book, view cart, remove item, clear cart, count updates everywhere.
Related cases
TC-MKT-02
SCN-MKT-03 Discount code Cart Risk: Medium
Description
Apply valid code → discounted total; apply invalid → error; remove code → revert.
Related cases
TC-MKT-03
SCN-MKT-04 Checkout from wallet Cart Risk: Critical
Description
Sufficient balance → success; insufficient → prompt to top up; cart cleared on success.
Related cases
TC-MKT-04, TC-MKT-05

Wallet & Payments

Money. Validate every code path including failures and concurrent operations.

SCN-WAL-01 Wallet balance display Wallet Risk: High
Description
Balance, earned, withdrawn, pending displayed correctly in user's currency.
Related cases
TC-WAL-01
SCN-WAL-02 Top up via PayPal sandbox Wallet Risk: Critical
Description
Create order → approve → capture → balance increased → transaction + invoice created.
Related cases
TC-WAL-02, TC-WAL-03
SCN-WAL-03 PayPal failure / cancel Wallet Risk: Critical
Description
Cancel approval → no charge, balance unchanged. Server-side failure → idempotent retry safe.
Related cases
TC-WAL-04
SCN-WAL-04 Transactions list & export Wallet Risk: Medium
Description
List paginates correctly; CSV export contains all rows; balance_after consistent.
Related cases
TC-WAL-05
SCN-WAL-05 Invoice generation & PDF download Wallet Risk: Critical
Description
Invoice has subtotal, VAT 15%, total; PDF downloads & renders in AR / EN.
Related cases
TC-WAL-06
SCN-WAL-06 Withdrawal request Wallet Risk: High
Description
Request withdrawal → pending_balance updated → admin approves → settled.
Related cases
TC-WAL-07
SCN-WAL-07 Send points to another user Wallet Risk: Medium
Description
Transfer amount → sender debited, receiver credited; transactions on both wallets.
Related cases
TC-WAL-08

Gifts

Micro-payments tied to wallet — verify ledger correctness.

SCN-GIFT-01 Send a gift Gifts Risk: High
Description
Pick gift, quantity, optional message → wallet debited → receiver credited → notification fired.
Related cases
TC-GIFT-01
SCN-GIFT-02 Gifts stats & leaderboard Gifts Risk: Medium
Description
Top gifts, leaderboard, per-user sent/received populate correctly.
Related cases
TC-GIFT-02

Chat

Real-time + media + offline cases — easy to break.

SCN-CHAT-01 Open / create conversation Chat Risk: High
Description
Search user → open chat → conversation reused if exists.
Related cases
TC-CHAT-01
SCN-CHAT-02 Send messages of every type Chat Risk: Critical
Description
Text, image, video, audio, file all delivered & render correctly.
Related cases
TC-CHAT-02, TC-CHAT-03
SCN-CHAT-03 Real-time delivery Chat Risk: Critical
Description
Message sent by user A appears on user B's device within seconds (Reverb).
Related cases
TC-CHAT-04
SCN-CHAT-04 Read receipts & unread count Chat Risk: High
Description
Mark as read updates timestamps; unread count drops on both side and topbar badge.
Related cases
TC-CHAT-05
SCN-CHAT-05 Delete message / conversation Chat Risk: Medium
Description
Soft-delete message on either side; full conversation soft-delete; counterparty preserves history.
Related cases
TC-CHAT-06
SCN-CHAT-06 Offline send queue Chat Risk: Medium
Description
Send while offline — message queued, sent on reconnect, marked sent/delivered.
Related cases
TC-CHAT-07

Notifications

Critical for engagement and time-sensitive flows like consultation reminders.

SCN-NOTE-01 In-app notification delivery Notifications Risk: High
Description
Each notification type appears in the user's inbox; deep link opens correct screen.
Related cases
TC-NOTE-01
SCN-NOTE-02 FCM push notification Notifications Risk: High
Description
Push arrives on mobile when app is backgrounded; tap opens correct screen.
Related cases
TC-NOTE-02
SCN-NOTE-03 Unread count & mark-as-read Notifications Risk: Medium
Description
Unread badge updates; mark single / all read; deletion works.
Related cases
TC-NOTE-03
SCN-NOTE-04 Notification language Notifications Risk: High
Description
Each notification is rendered in the recipient's language regardless of trigger user.
Related cases
TC-NOTE-04

Admin

Trusted operator surface — strict access control + audit awareness.

SCN-ADM-01 Admin panel access control Admin Risk: Critical
Description
Only users with admin role access /admin. Students/speakers are rejected.
Related cases
TC-ADM-01
SCN-ADM-02 Manage users & roles Admin Risk: High
Description
List, search, suspend, change role, view wallet.
Related cases
TC-ADM-02
SCN-ADM-03 Moderate posts & reports Admin Risk: High
Description
Review report queue, resolve / dismiss; status updates on post_reports.
Related cases
TC-ADM-03
SCN-ADM-04 Manage categories & gifts Admin Risk: Medium
Description
CRUD with bilingual fields; active/inactive toggles.
Related cases
TC-ADM-04
SCN-ADM-05 Approve withdrawals Admin Risk: Critical
Description
Approve or reject withdrawal requests; wallet ledger updates correctly.
Related cases
TC-ADM-05
SCN-ADM-06 Update platform settings Admin Risk: High
Description
Change VAT %, currency, timezone defaults; validation enforced.
Related cases
TC-ADM-06

Cross-Cutting Scenarios

Non-functional & platform-wide — apply across many features.

SCN-CROSS-01 Language switch (AR ↔ EN) Localization Risk: Critical
Description
Toggle language from settings — UI updates immediately; emails & PDFs follow recipient's language.
Related cases
TC-LOC-01, TC-LOC-02
SCN-CROSS-02 RTL visual integrity Localization Risk: High
Description
Every screen in AR renders with correct mirrored layout, fonts, alignment, icons.
Related cases
TC-LOC-03
SCN-CROSS-03 Accessibility AA Accessibility Risk: High
Description
Keyboard navigation, focus visibility, color contrast, screen-reader semantics.
Related cases
TC-A11Y-01, TC-A11Y-02
SCN-CROSS-04 Performance — page load & API Performance Risk: High
Description
Marketplace & feed load within budget on 4G; API p95 < 500 ms on key endpoints.
Related cases
TC-PERF-01
SCN-CROSS-05 Cross-platform parity Cross Risk: High
Description
Web app and Flutter app produce the same data for the same user/state on key flows.
Related cases
TC-PARITY-01
SCN-CROSS-06 Dark mode visual integrity UI Risk: Medium
Description
Every screen renders correctly in dark theme; contrast preserved.
Related cases
TC-UI-01
SCN-CROSS-07 Empty / loading / error states UI Risk: Medium
Description
Every list and detail view shows defined skeleton, empty illustration, and recoverable error.
Related cases
TC-UI-02
SCN-CROSS-08 Offline behaviour (mobile) Mobile Risk: Medium
Description
App degrades gracefully when offline; banner shown; cached data still readable.
Related cases
TC-MOB-01
SCN-CROSS-09 Security — auth headers & role gates Security Risk: Critical
Description
No protected endpoint is accessible without a valid Sanctum token; role middleware rejects mismatches.
Related cases
TC-SEC-01, TC-SEC-02
SCN-CROSS-10 File upload validation Security Risk: High
Description
Reject wrong MIME types, oversized files, malicious filenames.
Related cases
TC-SEC-03