Commit Graph

1 Commits

Author SHA1 Message Date
Adrian Flores Cortes
f1a750ea11 test(education): Add E2E tests for video upload (Suites 1-2, 47 tests) 🎬
Progress: 28% (5h/14h completed)

Suite 1: Frontend Form Tests  (27 tests)
Location: apps/frontend/src/__tests__/e2e/video-upload-form.test.tsx

Step 1 - File Selection (9 tests):
- Drag & drop support
- Format validation (mp4, webm, quicktime)
- Size validation (max 500MB)
- Duration extraction
- CRITICAL: NO video blob in state

Step 2 - Metadata Entry (8 tests):
- Title validation (required, max 100 chars)
- Description validation (required, max 5000 chars)
- Tag management (max 10 tags)
- Thumbnail upload (optional)

Step 3 - Upload Flow (10 tests):
- Progress tracking 0% → 100%
- Status messages
- Callbacks invocation
- Error handling & retry
- Form disabled during upload

Suite 2: Service Tests  (20 tests)
Location: apps/frontend/src/__tests__/e2e/video-upload-service.test.ts

Features tested:
- File chunking (5MB parts)
- Concurrent uploads (max 3)
- Progress tracking
- ETag extraction
- Error handling
- Full flow integration

Test Coverage:
- VideoUploadForm component: > 80% expected
- video-upload.service: > 90% expected

Files (in .gitignore):
- apps/frontend/src/__tests__/e2e/video-upload-form.test.tsx (450 LOC)
- apps/frontend/src/__tests__/e2e/video-upload-service.test.ts (350 LOC)

Pending (9h):
- Suite 3: Integration E2E (3h)
- Suites 4-6: Backend tests (5.5h)
- Suite 7: Full E2E (0.5h)

Status:  Solid progress (47 tests written)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:15:54 -06:00