feat: music search filter/cont, refactored paginator

This commit is contained in:
ThetaDev 2022-10-31 23:05:27 +01:00
parent d29bbd8b25
commit dac2b17dc2
38 changed files with 65313 additions and 247 deletions

View file

@ -40,6 +40,10 @@ pub async fn download_testfiles(project_root: &Path) {
music_playlist_cont(&testfiles).await;
music_album(&testfiles).await;
music_search(&testfiles).await;
music_search_tracks(&testfiles).await;
music_search_albums(&testfiles).await;
music_search_artists(&testfiles).await;
music_search_playlists(&testfiles).await;
}
const CLIENT_TYPES: [ClientType; 5] = [
@ -532,3 +536,65 @@ async fn music_search(testfiles: &Path) {
rp.query().music_search(query).await.unwrap();
}
}
async fn music_search_tracks(testfiles: &Path) {
for (name, query, videos) in [
("default", "black mamba", false),
("videos", "black mamba", true),
("typo", "liblingsmensch", false),
] {
let mut json_path = testfiles.to_path_buf();
json_path.push("music_search");
json_path.push(format!("tracks_{}.json", name));
if json_path.exists() {
continue;
}
let rp = rp_testfile(&json_path);
rp.query().music_search_tracks(query, videos).await.unwrap();
}
}
async fn music_search_albums(testfiles: &Path) {
let mut json_path = testfiles.to_path_buf();
json_path.push("music_search");
json_path.push("albums.json");
if json_path.exists() {
return;
}
let rp = rp_testfile(&json_path);
rp.query().music_search_albums("black mamba").await.unwrap();
}
async fn music_search_artists(testfiles: &Path) {
let mut json_path = testfiles.to_path_buf();
json_path.push("music_search");
json_path.push("artists.json");
if json_path.exists() {
return;
}
let rp = rp_testfile(&json_path);
rp.query()
.music_search_artists("black mamba")
.await
.unwrap();
}
async fn music_search_playlists(testfiles: &Path) {
for (name, community) in [("ytm", false), ("community", true)] {
let mut json_path = testfiles.to_path_buf();
json_path.push("music_search");
json_path.push(format!("playlists_{}.json", name));
if json_path.exists() {
continue;
}
let rp = rp_testfile(&json_path);
rp.query()
.music_search_playlists("pop", community)
.await
.unwrap();
}
}