use mpdclient::Entity;
use crate::common::setup_mpd;
mod common;
#[test]
fn path() -> eyre::Result<()> {
setup_mpd(
|setup| {
setup.directory()?;
setup.song("dir/song.mp3")
},
|conn| {
let db = conn.database();
let mut list = db.list_all(None)?;
let Entity::Directory(dir) = list
.find(|e| matches!(e.as_ref().unwrap(), Entity::Directory(_)))
.unwrap()?
else {
unreachable!();
};
assert_eq!(dir.path().to_string_lossy().to_string(), "dir");
Ok(())
},
)
}
#[test]
fn last_modified() -> eyre::Result<()> {
setup_mpd(
|setup| {
setup.directory()?;
setup.song("dir/song.mp3")
},
|conn| {
let db = conn.database();
let mut list = db.list_all(None)?;
let Entity::Directory(dir) = list
.find(|e| matches!(e.as_ref().unwrap(), Entity::Directory(_)))
.unwrap()?
else {
unreachable!();
};
assert!(dir.last_modified().is_none());
Ok(())
},
)
}