feat(medium): Fix: Spotify 'Connect' button persists after successful connection #9549
GitHub Actions / Unit Tests
succeeded
Mar 27, 2026 in 1s
691 passed, 0 failed and 0 skipped
✅ test-results/unit-results.xml
691 tests were completed in 30s with 691 passed, 0 failed and 0 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| tests/unit/app/api/health/detailed/route.test.ts | 3✅ | 239ms | ||
| tests/unit/app/api/internal/token-delivery/route.test.ts | 4✅ | 404ms | ||
| tests/unit/app/api/spotify/access-token/route.test.ts | 4✅ | 255ms | ||
| tests/unit/app/api/spotify/devices/route.test.ts | 5✅ | 415ms | ||
| tests/unit/app/api/spotify/playlists/[playlistId]/route.test.ts | 1✅ | 435ms | ||
| tests/unit/app/api/spotify/playlists/[playlistId]/tracks/route.test.ts | 1✅ | 454ms | ||
| tests/unit/app/api/spotify/playlists/route.test.ts | 3✅ | 329ms | ||
| tests/unit/app/api/users/route.test.ts | 3✅ | 337ms | ||
| tests/unit/app/api/workout/route.test.ts | 5✅ | 362ms | ||
| tests/unit/app/client/connect/ConnectView.test.tsx | 6✅ | 1s | ||
| tests/unit/app/client/connect/page.test.tsx | 7✅ | 2s | ||
| tests/unit/app/client/connect/SignalQualityIndicator.test.tsx | 6✅ | 596ms | ||
| tests/unit/app/client/connect/UserSettings.test.tsx | 8✅ | 1s | ||
| tests/unit/app/client/connect/WorkoutControls.test.tsx | 5✅ | 485ms | ||
| tests/unit/app/client/control/components/SpotifyControls.repro.test.tsx | 1✅ | 4s | ||
| tests/unit/app/client/control/components/SpotifyControls.test.tsx | 10✅ | 7s | ||
| tests/unit/app/client/control/components/TimerControls.test.tsx | 4✅ | 1s | ||
| tests/unit/app/client/control/ControlPanel.test.tsx | 1✅ | 547ms | ||
| tests/unit/app/client/control/page.test.tsx | 1✅ | 492ms | ||
| tests/unit/app/client/experimental/components/HeartRateTimeSeries.test.tsx | 2✅ | 659ms | ||
| tests/unit/app/client/experimental/components/SessionDetail.test.tsx | 2✅ | 777ms | ||
| tests/unit/app/client/experimental/components/WorkoutSummary.test.tsx | 7✅ | 3s | ||
| tests/unit/app/client/experimental/components/ZoneDistribution.test.tsx | 6✅ | 1s | ||
| tests/unit/app/client/mock/page.test.tsx | 3✅ | 1s | ||
| tests/unit/app/client/spotify-selection/page.test.tsx | 3✅ | 469ms | ||
| tests/unit/components/AuthButton.test.tsx | 1✅ | 350ms | ||
| tests/unit/components/BottomNavBar.test.tsx | 6✅ | 704ms | ||
| tests/unit/components/DashboardClient.test.tsx | 6✅ | 746ms | ||
| tests/unit/components/DashboardSectionLoadingSkeleton.test.tsx | 4✅ | 345ms | ||
| tests/unit/components/ExperimentalAnalyticsPage.test.tsx | 2✅ | 5s | ||
| tests/unit/components/GoogleDocViewer.test.tsx | 4✅ | 676ms | ||
| tests/unit/components/HrmConnectionPanel.test.tsx | 3✅ | 507ms | ||
| tests/unit/components/HrTile.test.tsx | 14✅ | 814ms | ||
| tests/unit/components/LoadingIndicator.test.tsx | 2✅ | 668ms | ||
| tests/unit/components/Playlist/PlaylistTracksDisplay.test.tsx | 3✅ | 664ms | ||
| tests/unit/components/RefreshIconButton.test.tsx | 3✅ | 669ms | ||
| tests/unit/components/shared/ControlCard.test.tsx | 2✅ | 380ms | ||
| tests/unit/components/shared/PlaybackControls.test.tsx | 6✅ | 374ms | ||
| tests/unit/components/shared/VolumeSlider.test.tsx | 6✅ | 4s | ||
| tests/unit/components/Spotify/CurrentSpotifyItemDisplay.test.tsx | 7✅ | 1s | ||
| tests/unit/components/Spotify/DeviceRecommendation.test.tsx | 4✅ | 721ms | ||
| tests/unit/components/Spotify/PlaylistDetails.test.tsx | 4✅ | 702ms | ||
| tests/unit/components/Spotify/PlaylistSelector.test.tsx | 5✅ | 2s | ||
| tests/unit/components/SpotifyDisplay.test.tsx | 9✅ | 2s | ||
| tests/unit/components/TimerDisplay.test.tsx | 6✅ | 771ms | ||
| tests/unit/components/WorkoutTableHeader.test.tsx | 1✅ | 683ms | ||
| tests/unit/constants/bluetooth-messages.test.ts | 25✅ | 218ms | ||
| tests/unit/constants/reconnection.test.ts | 7✅ | 221ms | ||
| tests/unit/context/ErrorContext.test.tsx | 2✅ | 324ms | ||
| tests/unit/context/LoadingContext.test.tsx | 2✅ | 555ms | ||
| tests/unit/context/UserSettingsContext.test.ts | 6✅ | 220ms | ||
| tests/unit/context/UserSettingsContextIntegration.test.ts | 7✅ | 317ms | ||
| tests/unit/context/webSocketReducer.test.ts | 13✅ | 196ms | ||
| tests/unit/gemini-client.test.ts | 10✅ | 262ms | ||
| tests/unit/hooks/useBluetoothHRM.race.test.ts | 3✅ | 1s | ||
| tests/unit/hooks/useBluetoothHRM.test.ts | 16✅ | 2s | ||
| tests/unit/hooks/useConnectUserProfile.test.ts | 8✅ | 376ms | ||
| tests/unit/hooks/useFetchWithRetry.test.ts | 4✅ | 2s | ||
| tests/unit/hooks/useHeightInput.test.ts | 5✅ | 343ms | ||
| tests/unit/hooks/useLocalWorkoutBuffer.test.ts | 4✅ | 292ms | ||
| tests/unit/hooks/usePersistentStorage.test.ts | 9✅ | 553ms | ||
| tests/unit/hooks/useSpotifyAuth.test.ts | 5✅ | 304ms | ||
| tests/unit/hooks/useSpotifyCommand.test.ts | 6✅ | 275ms | ||
| tests/unit/hooks/useSpotifyWebPlayback.test.ts | 4✅ | 353ms | ||
| tests/unit/hooks/useWorkoutSessionManager.test.ts | 9✅ | 1s | ||
| tests/unit/lib/auth.test.ts | 7✅ | 396ms | ||
| tests/unit/lib/calorie-estimation.test.ts | 8✅ | 207ms | ||
| tests/unit/lib/env.test.ts | 5✅ | 625ms | ||
| tests/unit/lib/healthCheck.test.ts | 7✅ | 388ms | ||
| tests/unit/lib/hrm/HrmSessionManager.test.ts | 11✅ | 329ms | ||
| tests/unit/lib/notifications.test.ts | 3✅ | 219ms | ||
| tests/unit/lib/shared/hr-zones.boundary.test.ts | 1✅ | 243ms | ||
| tests/unit/lib/shared/hr-zones.test.ts | 12✅ | 249ms | ||
| tests/unit/lib/spotify.test.ts | 5✅ | 339ms | ||
| tests/unit/lib/structures/RingBuffer.test.ts | 4✅ | 217ms | ||
| tests/unit/lib/utils.test.ts | 24✅ | 303ms | ||
| tests/unit/lib/validation/schemas.test.ts | 12✅ | 556ms | ||
| tests/unit/lib/validation/userMetrics.test.ts | 17✅ | 230ms | ||
| tests/unit/lib/workout-session-storage.fallback.test.ts | 4✅ | 239ms | ||
| tests/unit/lib/workout-session-storage.test.ts | 4✅ | 247ms | ||
| tests/unit/lib/workout-session.test.ts | 2✅ | 228ms | ||
| tests/unit/scripts/conflict-resolver.test.ts | 2✅ | 224ms | ||
| tests/unit/scripts/create-review-issues.test.ts | 15✅ | 701ms | ||
| tests/unit/scripts/gemini-client.test.ts | 21✅ | 425ms | ||
| tests/unit/scripts/utils/git-conflicts.test.ts | 4✅ | 288ms | ||
| tests/unit/services/googleDocParser.test.ts | 8✅ | 386ms | ||
| tests/unit/services/HrmStatsCalculator.test.ts | 5✅ | 234ms | ||
| tests/unit/services/spotifyDeviceManager.test.ts | 3✅ | 432ms | ||
| tests/unit/services/spotifyPlaylistService.test.ts | 3✅ | 280ms | ||
| tests/unit/services/spotifyTokenManager.test.ts | 12✅ | 4s | ||
| tests/unit/services/tabataTimer.test.ts | 13✅ | 349ms | ||
| tests/unit/socketManager.test.ts | 26✅ | 3s | ||
| tests/unit/spotifyPlayerManager.test.ts | 14✅ | 723ms | ||
| tests/unit/spotifyPolling.test.ts | 37✅ | 2s | ||
| tests/unit/useVolumePreference.test.ts | 5✅ | 316ms | ||
| tests/unit/utils/fit-export.test.ts | 2✅ | 248ms | ||
| tests/unit/utils/hrm-filter.test.ts | 7✅ | 263ms | ||
| tests/unit/utils/hrm.test.ts | 8✅ | 258ms | ||
| tests/unit/utils/logger-redaction.test.ts | 1✅ | 251ms | ||
| tests/unit/utils/logger.server.test.ts | 4✅ | 203ms | ||
| tests/unit/utils/logger.test.ts | 2✅ | 230ms | ||
| tests/unit/utils/promise.test.ts | 5✅ | 221ms | ||
| tests/unit/utils/units.test.ts | 5✅ | 167ms | ||
| tests/unit/utils/visualization.test.ts | 7✅ | 178ms | ||
| tests/unit/utils/websocketUtils.test.ts | 12✅ | 262ms |
Loading