Test Case Scenarios — RBA Dev Team Portal v1.0.0
Testing Guide

Test Case Scenarios

Real-world testing scenarios for the RBA case management system. Use these as templates when testing new features or reviewing assignments.

How to Use These Scenarios

These scenarios represent common workflows in the RBA system. When you're assigned a component to test, pick the relevant scenario and work through it step-by-step. Each scenario includes the setup(starting conditions), steps(actions to perform), and expected outcome(what should happen).

Don't just follow the happy path—after testing the scenario as written, try variations. Skip a step. Enter bad data. Click buttons out of order. The goal is to find where the system breaks under real-world usage patterns.

Testing Tip

Real users don't read manuals. They click around, make assumptions, and hit edge cases accidentally. Your job is to simulate that behavior intentionally. If a scenario seems too simple, you're probably not being creative enough with your variations.

Case Intake Scenarios

1
Happy Path: Standard Case Entry
Setup
Logged in as arbitrator, on the Case Intake Form. Testing a straightforward residential property appeal in Harris County.
Steps
  1. Select File Year: 2026
  2. County: Harris County
  3. Property Owner: John Smith
  4. Property Address: 123 Main St, Houston, TX 77002
  5. Appraised Value: $350,000
  6. Protest Value: $285,000
  7. Appeal Reason: Check "Market Value"
  8. Property Type: Residential
  9. Click Submit
Expected Outcome
Case saves to Firebase with auto-generated file number (2026-001), success message appears, form clears for next entry, case appears in Dashboard with "Pending" status.
2
Validation: Missing Required Fields
Setup
On the Case Intake Form, attempting to submit with incomplete data.
Steps
  1. Fill out only: File Year 2026, County Harris, Property Owner name
  2. Leave all other required fields empty
  3. Click Submit
Expected Outcome
Submit button either disabled or validation error appears. Inline errors show below each empty required field: "Property address is required", "Appraised value is required", etc. No data written to Firebase. Form remains in editable state.
3
Edge Case: Maximum Character Inputs
Setup
Testing input field limits with unusually long data.
Steps
  1. Property Owner: Enter 200+ character name with special characters (é, ñ, apostrophes)
  2. Property Address: Enter 500+ character address with apartment/suite numbers
  3. Notes field: Paste 5000+ characters of text
  4. Fill remaining required fields normally
  5. Click Submit
Expected Outcome
Fields either truncate gracefully with character count indicator, or enforce max length and prevent further input. Special characters save correctly without encoding errors. On save, Firebase data structure handles long strings without corruption. Dashboard displays truncated versions with ellipsis.

Dashboard & Case Management Scenarios

4
Happy Path: Updating Case Status
Setup
Dashboard loaded with 10+ cases, need to mark one as "Hearing Scheduled."
Steps
  1. Find case 2026-003 in the list
  2. Click Edit or status dropdown
  3. Change status from "Pending" to "Hearing Scheduled"
  4. Add hearing date: May 15, 2026 at 2:00 PM
  5. Save changes
Expected Outcome
Status updates immediately in the list without page reload, timestamp records when status changed, case moves to "Hearing Scheduled" filter if active, hearing date displays in case details, Firebase updates instantly.
5
Search & Filter: Finding Specific Cases
Setup
Dashboard with 50+ cases across multiple years and counties.
Steps
  1. Enter property owner name "Smith" in search box
  2. Filter by County: Harris
  3. Filter by Status: Pending
  4. Filter by File Year: 2026
Expected Outcome
List narrows to show only cases matching ALL criteria (AND logic, not OR). Result count updates ("Showing 3 of 52 cases"). Clearing one filter re-expands results to match remaining filters. Search is case-insensitive and works on partial matches.
6
Edge Case: Rapid Status Changes
Setup
Testing for race conditions or data corruption with quick edits.
Steps
  1. Open case 2026-005 for editing
  2. Change status to "Hearing Scheduled", save
  3. Immediately (within 2 seconds) change status again to "Under Review", save
  4. Open Firebase console and check case data
Expected Outcome
Both updates write successfully, last-write-wins (status shows "Under Review"), no duplicate case nodes created, timestamps reflect both changes in history log if implemented, no Firebase errors in browser console.

Multi-User & Permissions Scenarios

7
Concurrent Edits: Two Arbitrators, One Case
Setup
Two browser windows open, both logged in as different arbitrators, both viewing the same case.
Steps
  1. Window A: Edit case 2026-010, change status to "Settled"
  2. Window B: Edit same case, change appraisal value to $400,000
  3. Window A: Save changes
  4. Window B: Save changes (without refreshing)
  5. Refresh both windows and check Firebase
Expected Outcome
Last-write-wins on conflicting fields, both non-conflicting changes persist (status = Settled, value = $400,000), no data loss, ideally a warning if editing stale data, or real-time sync shows Window A's changes in Window B before save.

Settings & Admin Scenarios

8
Settings: Updating Arbitrator Profile
Setup
Logged in, on Settings page, need to update contact info and fee structure.
Steps
  1. Update email from old@example.com to new@example.com
  2. Update phone number
  3. Change default fee from $450 to $475
  4. Save settings
Expected Outcome
All fields save to Firebase under user's settings node, new values persist after page reload, email change doesn't break auth (if using email/password login), new default fee applies to future cases created.

Error Handling & Recovery Scenarios

9
Network Failure During Save
Setup
Case Intake Form filled out, ready to submit. Simulate network interruption.
Steps
  1. Fill out entire case intake form with valid data
  2. Open Chrome DevTools → Network tab → set to "Offline"
  3. Click Submit
  4. Wait 5 seconds
  5. Re-enable network
Expected Outcome
Error message appears: "Network error. Please check your connection and try again." Submit button re-enables for retry. Form data remains populated (not lost). After network restored, retry succeeds and saves normally.
10
Session Timeout / Auth Expiry
Setup
Testing behavior when Firebase auth token expires mid-session.
Steps
  1. Log in and leave Dashboard open for 60+ minutes (or manually expire token via Firebase console)
  2. Attempt to create a new case or edit existing case
  3. Click Save
Expected Outcome
Auth check catches expired session, redirect to login page with message "Your session has expired. Please log in again.", after re-login, return to previous page (or Dashboard), no data loss if form data was cached locally.

Creating Your Own Scenarios

These scenarios cover the most common workflows, but every component has unique edge cases. When you're testing a new feature, write your own scenarios using this template:

Custom Scenario Template
  • Title: One-line description of what you're testing (e.g., "Validation: Special Characters in Property Owner Name")
  • Setup: Where you start, what conditions are in place (e.g., "Logged in, Case Intake Form open, testing Unicode support")
  • Steps: Numbered list of actions to perform
  • Expected Outcome: What should happen if the system works correctly
  • Actual Outcome:(If testing) What actually happened—file a bug if it differs from expected

The more scenarios you document, the more comprehensive your testing becomes. If you discover a new failure mode not covered here, write it up and submit it via feedback—it'll help future testers and might even get added to this guide.