v7 compat for random/recent endpoints
This commit is contained in:
parent
332e39876e
commit
35736ee1d5
3 changed files with 33 additions and 13 deletions
|
@ -317,16 +317,22 @@ impl From<collection::Directory> for Directory {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<collection::Album> for Directory {
|
impl From<collection::Album> for Directory {
|
||||||
fn from(a: collection::Album) -> Self {
|
fn from(album: collection::Album) -> Self {
|
||||||
|
let path = album
|
||||||
|
.songs
|
||||||
|
.first()
|
||||||
|
.map(|s| s.virtual_parent.clone())
|
||||||
|
.unwrap_or_default();
|
||||||
|
|
||||||
Self {
|
Self {
|
||||||
path: todo!(), // TODO implement
|
path,
|
||||||
artist: match a.artists.is_empty() {
|
artist: match album.artists.is_empty() {
|
||||||
true => None,
|
true => None,
|
||||||
false => Some(a.artists.join("")),
|
false => Some(album.artists.join("")),
|
||||||
},
|
},
|
||||||
year: a.year,
|
year: album.year,
|
||||||
album: a.name,
|
album: album.name,
|
||||||
artwork: a.artwork,
|
artwork: album.artwork,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,13 +50,17 @@ async fn trigger_index_golden_path() {
|
||||||
|
|
||||||
let request = protocol::random::<V8>();
|
let request = protocol::random::<V8>();
|
||||||
|
|
||||||
let response = service.fetch_json::<_, Vec<dto::Album>>(&request).await;
|
let response = service
|
||||||
|
.fetch_json::<_, Vec<dto::AlbumHeader>>(&request)
|
||||||
|
.await;
|
||||||
let entries = response.body();
|
let entries = response.body();
|
||||||
assert_eq!(entries.len(), 0);
|
assert_eq!(entries.len(), 0);
|
||||||
|
|
||||||
service.index().await;
|
service.index().await;
|
||||||
|
|
||||||
let response = service.fetch_json::<_, Vec<dto::Album>>(&request).await;
|
let response = service
|
||||||
|
.fetch_json::<_, Vec<dto::AlbumHeader>>(&request)
|
||||||
|
.await;
|
||||||
let entries = response.body();
|
let entries = response.body();
|
||||||
assert_eq!(entries.len(), 3);
|
assert_eq!(entries.len(), 3);
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,7 +168,9 @@ async fn random_golden_path() {
|
||||||
service.login().await;
|
service.login().await;
|
||||||
|
|
||||||
let request = protocol::random::<V8>();
|
let request = protocol::random::<V8>();
|
||||||
let response = service.fetch_json::<_, Vec<dto::Album>>(&request).await;
|
let response = service
|
||||||
|
.fetch_json::<_, Vec<dto::AlbumHeader>>(&request)
|
||||||
|
.await;
|
||||||
assert_eq!(response.status(), StatusCode::OK);
|
assert_eq!(response.status(), StatusCode::OK);
|
||||||
let entries = response.body();
|
let entries = response.body();
|
||||||
assert_eq!(entries.len(), 3);
|
assert_eq!(entries.len(), 3);
|
||||||
|
@ -184,7 +186,9 @@ async fn random_with_trailing_slash() {
|
||||||
|
|
||||||
let mut request = protocol::random::<V8>();
|
let mut request = protocol::random::<V8>();
|
||||||
add_trailing_slash(&mut request);
|
add_trailing_slash(&mut request);
|
||||||
let response = service.fetch_json::<_, Vec<dto::Album>>(&request).await;
|
let response = service
|
||||||
|
.fetch_json::<_, Vec<dto::AlbumHeader>>(&request)
|
||||||
|
.await;
|
||||||
assert_eq!(response.status(), StatusCode::OK);
|
assert_eq!(response.status(), StatusCode::OK);
|
||||||
let entries = response.body();
|
let entries = response.body();
|
||||||
assert_eq!(entries.len(), 3);
|
assert_eq!(entries.len(), 3);
|
||||||
|
@ -205,6 +209,7 @@ async fn random_golden_path_api_v7() {
|
||||||
assert_eq!(response.status(), StatusCode::OK);
|
assert_eq!(response.status(), StatusCode::OK);
|
||||||
let entries = response.body();
|
let entries = response.body();
|
||||||
assert_eq!(entries.len(), 3);
|
assert_eq!(entries.len(), 3);
|
||||||
|
assert!(entries[0].path.starts_with("collection/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -224,7 +229,9 @@ async fn recent_golden_path() {
|
||||||
service.login().await;
|
service.login().await;
|
||||||
|
|
||||||
let request = protocol::recent::<V8>();
|
let request = protocol::recent::<V8>();
|
||||||
let response = service.fetch_json::<_, Vec<dto::Album>>(&request).await;
|
let response = service
|
||||||
|
.fetch_json::<_, Vec<dto::AlbumHeader>>(&request)
|
||||||
|
.await;
|
||||||
assert_eq!(response.status(), StatusCode::OK);
|
assert_eq!(response.status(), StatusCode::OK);
|
||||||
let entries = response.body();
|
let entries = response.body();
|
||||||
assert_eq!(entries.len(), 3);
|
assert_eq!(entries.len(), 3);
|
||||||
|
@ -240,7 +247,9 @@ async fn recent_with_trailing_slash() {
|
||||||
|
|
||||||
let mut request = protocol::recent::<V8>();
|
let mut request = protocol::recent::<V8>();
|
||||||
add_trailing_slash(&mut request);
|
add_trailing_slash(&mut request);
|
||||||
let response = service.fetch_json::<_, Vec<dto::Album>>(&request).await;
|
let response = service
|
||||||
|
.fetch_json::<_, Vec<dto::AlbumHeader>>(&request)
|
||||||
|
.await;
|
||||||
assert_eq!(response.status(), StatusCode::OK);
|
assert_eq!(response.status(), StatusCode::OK);
|
||||||
let entries = response.body();
|
let entries = response.body();
|
||||||
assert_eq!(entries.len(), 3);
|
assert_eq!(entries.len(), 3);
|
||||||
|
@ -261,6 +270,7 @@ async fn recent_golden_path_api_v7() {
|
||||||
assert_eq!(response.status(), StatusCode::OK);
|
assert_eq!(response.status(), StatusCode::OK);
|
||||||
let entries = response.body();
|
let entries = response.body();
|
||||||
assert_eq!(entries.len(), 3);
|
assert_eq!(entries.len(), 3);
|
||||||
|
assert!(entries[0].path.starts_with("collection/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|
Loading…
Add table
Reference in a new issue