test: add music_charts test

This commit is contained in:
ThetaDev 2022-12-01 14:12:57 +01:00
parent 88104753e0
commit c6cd364b9e
2 changed files with 31 additions and 1 deletions

View file

@ -27,5 +27,5 @@ inspired by [NewPipe](https://github.com/TeamNewPipe/NewPipeExtractor).
- [X] **Radio**
- [X] **Track details** (lyrics, recommendations)
- [ ] **Moods**
- [ ] **Charts**
- [X] **Charts**
- [X] **New**

View file

@ -4,6 +4,7 @@ use std::fmt::Display;
use fancy_regex::Regex;
use once_cell::sync::Lazy;
use rstest::rstest;
use rustypipe::param::Country;
use time::macros::date;
use time::OffsetDateTime;
@ -2050,6 +2051,35 @@ async fn music_radio_playlist_not_found() {
}
}
#[rstest]
#[case::de(
Country::De,
"PL4fGSI1pDJn4X-OicSCOy-dChXWdTgziQ",
"PL0sHkSjKd2rpxgOMD-vlUlIDqvQ5ChYJh"
)]
#[case::us(
Country::Us,
"PL4fGSI1pDJn69On1f-8NAvX_CYlx7QyZc",
"PLrEnWoR732-DtKgaDdnPkezM_nDidBU9H"
)]
#[tokio::test]
async fn music_charts(#[case] country: Country, #[case] plid_top: &str, #[case] plid_trend: &str) {
let rp = RustyPipe::builder().strict().build();
let charts = rp.query().music_charts(Some(country)).await.unwrap();
assert_eq!(charts.top_playlist_id.unwrap(), plid_top);
assert_eq!(charts.trending_playlist_id.unwrap(), plid_trend);
assert_gte(charts.top_tracks.len(), 40, "top tracks");
assert_gte(charts.artists.len(), 40, "top artists");
assert_gte(charts.trending_tracks.len(), 20, "trending tracks");
// Chart playlists only available in USA
if country == Country::Us {
assert_gte(charts.playlists.len(), 8, "charts playlists");
}
}
#[tokio::test]
async fn music_new_albums() {
let rp = RustyPipe::builder().strict().build();