Compare commits

..

1 Commits

Author SHA1 Message Date
Connor Johnstone
15a4efe1e9 Format 2026-03-19 14:05:58 -04:00
2 changed files with 78 additions and 23 deletions

View File

@@ -130,8 +130,14 @@ async fn main() -> anyhow::Result<()> {
if name.is_none() && mbid.is_none() { if name.is_none() && mbid.is_none() {
anyhow::bail!("provide either a name or --mbid"); anyhow::bail!("provide either a name or --mbid");
} }
let summary = let summary = add_artist(
add_artist(db.conn(), name.as_deref(), mbid.as_deref(), &mb_client, None).await?; db.conn(),
name.as_deref(),
mbid.as_deref(),
&mb_client,
None,
)
.await?;
println!("Artist watch: {summary}"); println!("Artist watch: {summary}");
} }
AddCommand::Album { AddCommand::Album {

View File

@@ -118,9 +118,16 @@ async fn test_add_track_wanted() {
let db = test_db().await; let db = test_db().await;
let provider = MockProvider; let provider = MockProvider;
let entry = add_track(db.conn(), Some("Radiohead"), Some("Creep"), None, &provider, None) let entry = add_track(
.await db.conn(),
.unwrap(); Some("Radiohead"),
Some("Creep"),
None,
&provider,
None,
)
.await
.unwrap();
assert_eq!(entry.item_type, ItemType::Track); assert_eq!(entry.item_type, ItemType::Track);
assert_eq!(entry.name, "Creep"); assert_eq!(entry.name, "Creep");
assert_eq!(entry.status, WantedStatus::Wanted); assert_eq!(entry.status, WantedStatus::Wanted);
@@ -133,9 +140,16 @@ async fn test_add_track_auto_owned() {
insert_track(&db, "Pink Floyd", "Time", "DSOTM").await; insert_track(&db, "Pink Floyd", "Time", "DSOTM").await;
let entry = add_track(db.conn(), Some("Pink Floyd"), Some("Time"), None, &provider, None) let entry = add_track(
.await db.conn(),
.unwrap(); Some("Pink Floyd"),
Some("Time"),
None,
&provider,
None,
)
.await
.unwrap();
assert_eq!(entry.status, WantedStatus::Owned); assert_eq!(entry.status, WantedStatus::Owned);
} }
@@ -182,12 +196,26 @@ async fn test_list_items_with_filters() {
let db = test_db().await; let db = test_db().await;
let provider = MockProvider; let provider = MockProvider;
add_track(db.conn(), Some("Radiohead"), Some("Creep"), None, &provider, None) add_track(
.await db.conn(),
.unwrap(); Some("Radiohead"),
add_track(db.conn(), Some("Tool"), Some("Lateralus"), None, &provider, None) Some("Creep"),
.await None,
.unwrap(); &provider,
None,
)
.await
.unwrap();
add_track(
db.conn(),
Some("Tool"),
Some("Lateralus"),
None,
&provider,
None,
)
.await
.unwrap();
let all = list_items(db.conn(), None, None, None).await.unwrap(); let all = list_items(db.conn(), None, None, None).await.unwrap();
assert_eq!(all.len(), 2); assert_eq!(all.len(), 2);
@@ -208,9 +236,16 @@ async fn test_remove_item() {
let db = test_db().await; let db = test_db().await;
let provider = MockProvider; let provider = MockProvider;
let entry = add_track(db.conn(), Some("Radiohead"), Some("Creep"), None, &provider, None) let entry = add_track(
.await db.conn(),
.unwrap(); Some("Radiohead"),
Some("Creep"),
None,
&provider,
None,
)
.await
.unwrap();
remove_item(db.conn(), entry.id).await.unwrap(); remove_item(db.conn(), entry.id).await.unwrap();
let all = list_items(db.conn(), None, None, None).await.unwrap(); let all = list_items(db.conn(), None, None, None).await.unwrap();
assert!(all.is_empty()); assert!(all.is_empty());
@@ -223,12 +258,26 @@ async fn test_library_summary() {
insert_track(&db, "Pink Floyd", "Time", "DSOTM").await; insert_track(&db, "Pink Floyd", "Time", "DSOTM").await;
add_track(db.conn(), Some("Radiohead"), Some("Creep"), None, &provider, None) add_track(
.await db.conn(),
.unwrap(); Some("Radiohead"),
add_track(db.conn(), Some("Pink Floyd"), Some("Time"), None, &provider, None) Some("Creep"),
.await None,
.unwrap(); &provider,
None,
)
.await
.unwrap();
add_track(
db.conn(),
Some("Pink Floyd"),
Some("Time"),
None,
&provider,
None,
)
.await
.unwrap();
let summary = library_summary(db.conn()).await.unwrap(); let summary = library_summary(db.conn()).await.unwrap();
assert_eq!(summary.total_items, 2); assert_eq!(summary.total_items, 2);