=== Phase 4 — Share Code Tests ===
--- Test 1: addTrack returns share code ---
✅ PASS: addTrack returns valid JSON
✅ PASS: addTrack status is success
✅ PASS: addTrack contains shareCode
✅ PASS: shareCode is 6 characters
✅ PASS: addTrack contains trackID
Generated share code: HBABNP (Track ID: 164)
--- Test 2: getTrackByShareCode (valid code) ---
✅ PASS: Lookup returns valid JSON
✅ PASS: Lookup status is success
✅ PASS: Lookup contains track object
✅ PASS: Lookup track has correct TrackID
✅ PASS: Lookup track has correct Name
✅ PASS: Lookup track has ShareCode field
✅ PASS: Lookup track has rating fields
--- Test 3: getTrackByShareCode (invalid code) ---
✅ PASS: Invalid code returns valid JSON
✅ PASS: Invalid code status is not_found
--- Test 4: getTrackByShareCode (empty code) ---
✅ PASS: Empty code returns valid JSON
✅ PASS: Empty code returns not_found or error
--- Test 5: Share code character validity ---
✅ PASS: Share code uses only valid characters (no 0/O/1/I/L)
--- Test 6: Unique codes for multiple tracks ---
✅ PASS: 6 tracks all got unique share codes
--- Cleanup ---
Fatal error: Uncaught Error: Cannot access private property DatabaseManager::$conn in /home/brettdev/public_html/database/test_share_codes.php:130
Stack trace:
#0 {main}
thrown in /home/brettdev/public_html/database/test_share_codes.php on line 130