···14971497 // And the active track (track 1) shouldn't be affected by this.
14981498 assert_eq!(s.active.as_ref().unwrap().title, "Real");
14991499 // Sanity: the persist effect should carry the resolved track.
15001500- assert!(
15011501- effects
15021502- .iter()
15031503- .any(|e| matches!(e, Effect::PersistQueuedTrack(q) if q.title == "Real"))
15041504- );
15001500+ assert!(effects
15011501+ .iter()
15021502+ .any(|e| matches!(e, Effect::PersistQueuedTrack(q) if q.title == "Real")));
15051503 }
1506150415071505 #[test]
···15681566 let effects = s.transition(&Event::PlaylistEntryAdded(e.clone()), 0);
15691567 assert_eq!(s.playlist.len(), 1);
15701568 assert!(s.autoplay_enabled);
15711571- assert!(
15721572- effects
15731573- .iter()
15741574- .any(|e| matches!(e, Effect::AddPlaylistEntry { .. }))
15751575- );
15691569+ assert!(effects
15701570+ .iter()
15711571+ .any(|e| matches!(e, Effect::AddPlaylistEntry { .. })));
15761572 assert!(effects.iter().any(|e| matches!(e, Effect::PublishSnapshot)));
15771573 }
15781574···16131609 assert_eq!(s.playlist.len(), 2);
16141610 // Cursor should be clamped to last valid index (1).
16151611 assert_eq!(s.playlist_cursor, 1);
16161616- assert!(
16171617- effects
16181618- .iter()
16191619- .any(|e| matches!(e, Effect::RemovePlaylistEntry(_)))
16201620- );
16121612+ assert!(effects
16131613+ .iter()
16141614+ .any(|e| matches!(e, Effect::RemovePlaylistEntry(_))));
16211615 }
1622161616231617 #[test]
···21832177 // Title preserved — the entry was already resolved.
21842178 assert_eq!(s.playlist[0].title, original_title);
21852179 // No metadata effect needed (no pending entries to flip).
21862186- assert!(
21872187- !effects
21882188- .iter()
21892189- .any(|e| matches!(e, Effect::PersistMetadata { .. }))
21902190- );
21802180+ assert!(!effects
21812181+ .iter()
21822182+ .any(|e| matches!(e, Effect::PersistMetadata { .. })));
21912183 assert!(!effects.iter().any(|e| matches!(e, Effect::PublishSnapshot)));
21922184 }
21932185···24742466 "removed track must not remain in queue",
24752467 );
24762468 assert!(effects.iter().any(|e| matches!(e, Effect::PublishSnapshot)));
24772477- assert!(
24782478- effects
24792479- .iter()
24802480- .any(|e| matches!(e, Effect::RemoveQueuedTrack { .. }))
24812481- );
24692469+ assert!(effects
24702470+ .iter()
24712471+ .any(|e| matches!(e, Effect::RemoveQueuedTrack { .. })));
24822472 } else {
24832473 assert!(effects.is_empty(), "no-op remove must return no effects");
24842474 }
+1-1
src/store.rs
···114114 /// Retrieve the most recent chat messages for a room, newest first.
115115 #[allow(dead_code)]
116116 async fn recent_chat(&self, room_id: &str, limit: i64)
117117- -> Result<Vec<ChatMessage>, sqlx::Error>;
117117+ -> Result<Vec<ChatMessage>, sqlx::Error>;
118118119119 /// Delete a room and all its associated data (CASCADE).
120120 #[allow(dead_code)]