{{ theme.skipToContentLabel || 'Skip to content' }}

Test Environment Document

Parent Document: TEST_PLAN.mdVersion: 1.2 | Date: January 5, 2026


9. Test Environment

9.1 Environment Overview

EnvironmentPurposeDataAccess
DevelopmentUnit/integration testingSynthetic, reset nightlyDev team
StagingValidation, UATProduction-likeDev, QA, stakeholders
ProductionLive operationsReal user dataAuthorized users

9.2 Hardware Requirements

Development Workstations:

  • MacBook Pro M1/M2 or equivalent PC
  • 16GB RAM minimum
  • 256GB SSD minimum
  • Docker: 8GB RAM allocated

Cloud Infrastructure (Staging):

  • Supabase Pro tier: 8GB database, 100GB storage
  • Cloudflare Pages: Global CDN
  • GitHub Actions: Auto-scaled runners

9.3 Software Requirements

Development Tools

SoftwareVersionPurpose
Node.js20.x LTSRuntime
pnpm9.xPackage manager
Docker DesktopLatestLocal Supabase
Supabase CLILatestDB management
ChromeLatestPrimary browser
FirefoxLatestSecondary browser

Testing Tools

ToolVersionPurposeLicense
Vitest^2.xUnit testingMIT
Playwright^1.40+E2E testingApache 2.0
React Testing Library^14.xComponent testingMIT
MSW^2.xAPI mockingMIT
axe-core^4.xAccessibilityMPL 2.0
Lighthouse CILatestPerformanceApache 2.0
k6LatestLoad testingAGPL 3.0
SnykFree tierVulnerability scanningProprietary

9.4 Test Data

User Accounts

TypeEmail PatternQuantity
Standard Usertest.user+{id}@dustac-test.com10
Admin Usertest.admin+{id}@dustac-test.com2
UAT User3-5

CSV Test Files

FileDescriptionRowsSize
valid-single-device-daily.csv1 device, 24 hours28815 KB
valid-multi-device-weekly.csv5 devices, 7 days10,080500 KB
large-dataset-500k.csvPerformance testing500,00025 MB
utf8-bom.csvBOM encoding test1005 KB
missing-columns.csvInvalid file1004 KB
invalid-dates.csvMalformed timestamps1005 KB

Test Data Commands

bash
# Generate synthetic data
npm run generate:test-data -- --devices 5 --days 30

# Seed test database
npm run seed:test-db

# Reset test database
npm run reset:test-db

9.5 Network Configuration

Development:

  • PostgreSQL: localhost:54322
  • Supabase Studio: http://localhost:54323
  • API Gateway: http://localhost:54321

Staging:

  • Supabase: https://[project-id].supabase.co (TLS 1.3)
  • Cloudflare: https://staging.dustac.app

9.6 Local Supabase Setup

bash
# Start local Supabase
pnpm supabase:start

# Check status
pnpm supabase:status

# Stop Supabase
pnpm supabase:stop

# Generate types
pnpm supabase:types

9.7 CI/CD Integration

GitHub Actions Workflow:

yaml
# .github/workflows/test.yml
name: Tests
on: [push, pull_request]

jobs:
  unit-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v2
      - run: pnpm install
      - run: pnpm test:unit

  e2e-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v2
      - run: pnpm install
      - run: pnpm exec playwright install
      - run: pnpm test:e2e

9.8 Environment Variables

bash
# .env.local
VITE_SUPABASE_URL=your-project-url
VITE_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-key

9.9 Browser Support Matrix

BrowserVersionSupport Level
Chrome90+Full
Firefox88+Full
Safari14+Full
Edge90+Full
IE 11-Not supported

9.10 Security Configuration

Test Environment Security:

  • RLS policies enforced
  • JWT authentication required
  • Test accounts use synthetic credentials
  • No production data in test environments
  • Audit logging enabled

Related Documents: