fix tests
This commit is contained in:
parent
cb38d5a248
commit
73fa0295bf
3 changed files with 66 additions and 17 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
---
|
---
|
||||||
source: tests/youtube.rs
|
source: tests/youtube.rs
|
||||||
|
assertion_line: 1770
|
||||||
expression: track
|
expression: track
|
||||||
---
|
---
|
||||||
TrackDetails(
|
TrackDetails(
|
||||||
|
|
@ -16,7 +17,7 @@ TrackDetails(
|
||||||
],
|
],
|
||||||
artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"),
|
artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"),
|
||||||
album: None,
|
album: None,
|
||||||
view_count: Some(235000000),
|
view_count: "[view_count]",
|
||||||
is_video: true,
|
is_video: true,
|
||||||
track_nr: None,
|
track_nr: None,
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ TrackDetails(
|
||||||
id: "MPREb_4xbv14CiQJm",
|
id: "MPREb_4xbv14CiQJm",
|
||||||
name: "INVU - The 3rd Album",
|
name: "INVU - The 3rd Album",
|
||||||
)),
|
)),
|
||||||
view_count: None,
|
view_count: "[view_count]",
|
||||||
is_video: false,
|
is_video: false,
|
||||||
track_nr: None,
|
track_nr: None,
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -860,7 +860,7 @@ async fn channel_shorts() {
|
||||||
.contains("Hi, I\u{2019}m Tina, aka Doobydobap"));
|
.contains("Hi, I\u{2019}m Tina, aka Doobydobap"));
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
channel.vanity_url.as_ref().unwrap(),
|
channel.vanity_url.as_ref().unwrap(),
|
||||||
"https://www.youtube.com/c/Doobydobap"
|
"https://www.youtube.com/@Doobydobap"
|
||||||
);
|
);
|
||||||
assert!(!channel.banner.is_empty(), "got no banners");
|
assert!(!channel.banner.is_empty(), "got no banners");
|
||||||
assert!(!channel.mobile_banner.is_empty(), "got no mobile banners");
|
assert!(!channel.mobile_banner.is_empty(), "got no mobile banners");
|
||||||
|
|
@ -966,7 +966,7 @@ fn assert_channel_eevblog<T>(channel: &Channel<T>) {
|
||||||
assert!(!channel.tags.is_empty(), "got no tags");
|
assert!(!channel.tags.is_empty(), "got no tags");
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
channel.vanity_url.as_ref().unwrap(),
|
channel.vanity_url.as_ref().unwrap(),
|
||||||
"https://www.youtube.com/c/EevblogDave"
|
"https://www.youtube.com/@EEVblog"
|
||||||
);
|
);
|
||||||
assert!(!channel.banner.is_empty(), "got no banners");
|
assert!(!channel.banner.is_empty(), "got no banners");
|
||||||
assert!(!channel.mobile_banner.is_empty(), "got no mobile banners");
|
assert!(!channel.mobile_banner.is_empty(), "got no mobile banners");
|
||||||
|
|
@ -1511,7 +1511,13 @@ async fn music_search(#[case] typo: bool) {
|
||||||
assert_eq!(res.corrected_query, None);
|
assert_eq!(res.corrected_query, None);
|
||||||
}
|
}
|
||||||
|
|
||||||
let track = res.tracks.iter().find(|t| t.id == "ZeerrnuLi5E").unwrap();
|
let (i, track) = &res
|
||||||
|
.tracks
|
||||||
|
.iter()
|
||||||
|
.enumerate()
|
||||||
|
.find(|(_, a)| a.id == "ZeerrnuLi5E")
|
||||||
|
.unwrap();
|
||||||
|
assert!(*i < 3);
|
||||||
|
|
||||||
assert_eq!(track.title, "Black Mamba");
|
assert_eq!(track.title, "Black Mamba");
|
||||||
assert_eq!(track.duration.unwrap(), 230);
|
assert_eq!(track.duration.unwrap(), 230);
|
||||||
|
|
@ -1535,7 +1541,15 @@ async fn music_search_tracks() {
|
||||||
let rp = RustyPipe::builder().strict().build();
|
let rp = RustyPipe::builder().strict().build();
|
||||||
let res = rp.query().music_search_tracks("black mamba").await.unwrap();
|
let res = rp.query().music_search_tracks("black mamba").await.unwrap();
|
||||||
|
|
||||||
let track = &res.items.items[0];
|
let (i, track) = &res
|
||||||
|
.items
|
||||||
|
.items
|
||||||
|
.iter()
|
||||||
|
.enumerate()
|
||||||
|
.find(|(_, a)| a.id == "BL-aIpCLWnU")
|
||||||
|
.unwrap();
|
||||||
|
assert!(*i < 3);
|
||||||
|
|
||||||
assert_eq!(track.title, "Black Mamba");
|
assert_eq!(track.title, "Black Mamba");
|
||||||
assert!(!track.cover.is_empty(), "got no cover");
|
assert!(!track.cover.is_empty(), "got no cover");
|
||||||
assert!(!track.is_video);
|
assert!(!track.is_video);
|
||||||
|
|
@ -1549,7 +1563,6 @@ async fn music_search_tracks() {
|
||||||
);
|
);
|
||||||
assert_eq!(track_artist.name, "aespa");
|
assert_eq!(track_artist.name, "aespa");
|
||||||
|
|
||||||
assert_eq!(track.id, "BL-aIpCLWnU");
|
|
||||||
assert_eq!(track.duration.unwrap(), 175);
|
assert_eq!(track.duration.unwrap(), 175);
|
||||||
|
|
||||||
let album = track.album.as_ref().unwrap();
|
let album = track.album.as_ref().unwrap();
|
||||||
|
|
@ -1564,7 +1577,15 @@ async fn music_search_videos() {
|
||||||
let rp = RustyPipe::builder().strict().build();
|
let rp = RustyPipe::builder().strict().build();
|
||||||
let res = rp.query().music_search_videos("black mamba").await.unwrap();
|
let res = rp.query().music_search_videos("black mamba").await.unwrap();
|
||||||
|
|
||||||
let track = &res.items.items[0];
|
let (i, track) = &res
|
||||||
|
.items
|
||||||
|
.items
|
||||||
|
.iter()
|
||||||
|
.enumerate()
|
||||||
|
.find(|(_, a)| a.id == "ZeerrnuLi5E")
|
||||||
|
.unwrap();
|
||||||
|
assert!(*i < 3);
|
||||||
|
|
||||||
assert_eq!(track.title, "Black Mamba");
|
assert_eq!(track.title, "Black Mamba");
|
||||||
assert!(!track.cover.is_empty(), "got no cover");
|
assert!(!track.cover.is_empty(), "got no cover");
|
||||||
assert!(track.is_video);
|
assert!(track.is_video);
|
||||||
|
|
@ -1578,7 +1599,6 @@ async fn music_search_videos() {
|
||||||
);
|
);
|
||||||
assert_eq!(track_artist.name, "aespa");
|
assert_eq!(track_artist.name, "aespa");
|
||||||
|
|
||||||
assert_eq!(track.id, "ZeerrnuLi5E");
|
|
||||||
assert_eq!(track.duration.unwrap(), 230);
|
assert_eq!(track.duration.unwrap(), 230);
|
||||||
assert_eq!(track.album, None);
|
assert_eq!(track.album, None);
|
||||||
assert_gte(track.view_count.unwrap(), 230_000_000, "views");
|
assert_gte(track.view_count.unwrap(), 230_000_000, "views");
|
||||||
|
|
@ -1649,9 +1669,15 @@ async fn music_search_albums(
|
||||||
let rp = RustyPipe::builder().strict().build();
|
let rp = RustyPipe::builder().strict().build();
|
||||||
let res = rp.query().music_search_albums(query).await.unwrap();
|
let res = rp.query().music_search_albums(query).await.unwrap();
|
||||||
|
|
||||||
let album = &res.items.items[0];
|
let (i, album) = &res
|
||||||
|
.items
|
||||||
|
.items
|
||||||
|
.iter()
|
||||||
|
.enumerate()
|
||||||
|
.find(|(_, a)| a.id == id)
|
||||||
|
.unwrap();
|
||||||
|
assert!(*i < 3);
|
||||||
assert_eq!(album.name, name);
|
assert_eq!(album.name, name);
|
||||||
assert_eq!(album.id, id);
|
|
||||||
|
|
||||||
assert_eq!(album.artists.len(), 1);
|
assert_eq!(album.artists.len(), 1);
|
||||||
let album_artist = &album.artists[0];
|
let album_artist = &album.artists[0];
|
||||||
|
|
@ -1765,9 +1791,17 @@ async fn music_details(#[case] name: &str, #[case] id: &str) {
|
||||||
let track = rp.query().music_details(id).await.unwrap();
|
let track = rp.query().music_details(id).await.unwrap();
|
||||||
|
|
||||||
assert!(!track.track.cover.is_empty(), "got no cover");
|
assert!(!track.track.cover.is_empty(), "got no cover");
|
||||||
|
if name == "mv" {
|
||||||
|
assert_gte(track.track.view_count.unwrap(), 235_000_000, "view count");
|
||||||
|
} else {
|
||||||
|
assert!(track.track.view_count.is_none());
|
||||||
|
}
|
||||||
|
|
||||||
insta::assert_ron_snapshot!(format!("music_details_{}", name), track,
|
insta::assert_ron_snapshot!(format!("music_details_{}", name), track,
|
||||||
{".track.cover" => "[cover]"}
|
{
|
||||||
|
".track.cover" => "[cover]",
|
||||||
|
".track.view_count" => "[view_count]"
|
||||||
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1865,11 +1899,25 @@ async fn music_related(#[case] id: &str, #[case] full: bool) {
|
||||||
for playlist in related.playlists {
|
for playlist in related.playlists {
|
||||||
assert_playlist_id(&playlist.id);
|
assert_playlist_id(&playlist.id);
|
||||||
assert!(!playlist.name.is_empty());
|
assert!(!playlist.name.is_empty());
|
||||||
assert!(!playlist.thumbnail.is_empty(), "got no playlist thumbnail");
|
assert!(
|
||||||
let channel = playlist.channel.unwrap();
|
!playlist.thumbnail.is_empty(),
|
||||||
assert_channel_id(&channel.id);
|
"pl: {}, got no playlist thumbnail",
|
||||||
assert!(!channel.name.is_empty());
|
playlist.id
|
||||||
assert_gte(playlist.track_count.unwrap(), 2, "tracks");
|
);
|
||||||
|
if !playlist.from_ytm {
|
||||||
|
assert!(
|
||||||
|
playlist.channel.is_some(),
|
||||||
|
"pl: {}, got no channel",
|
||||||
|
playlist.id
|
||||||
|
);
|
||||||
|
let channel = playlist.channel.unwrap();
|
||||||
|
assert_channel_id(&channel.id);
|
||||||
|
assert!(!channel.name.is_empty());
|
||||||
|
|
||||||
|
assert_gte(playlist.track_count.unwrap(), 2, "tracks");
|
||||||
|
} else {
|
||||||
|
assert!(playlist.channel.is_none());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue