fix: A/B test 19: Music artist album groups reordered

This commit is contained in:
ThetaDev 2025-01-13 03:21:51 +01:00
parent 23cd03a19d
commit 5daad1b700
No known key found for this signature in database
GPG key ID: E319D3C5148D65B6
13 changed files with 17830 additions and 460 deletions

View file

@ -38,14 +38,11 @@ pub enum ABTest {
PlaylistPageHeader = 16,
ChannelPlaylistsLockup = 17,
MusicPlaylistFacepile = 18,
MusicAlbumGroupsReordered = 19,
}
/// List of active A/B tests that are run when none is manually specified
const TESTS_TO_RUN: [ABTest; 3] = [
ABTest::ChannelPageHeader,
ABTest::MusicPlaylistTwoColumn,
ABTest::CommentsFrameworkUpdate,
];
const TESTS_TO_RUN: &[ABTest] = &[ABTest::MusicAlbumGroupsReordered];
#[derive(Debug, Serialize, Deserialize)]
pub struct ABTestRes {
@ -116,6 +113,7 @@ pub async fn run_test(
ABTest::PlaylistPageHeader => playlist_page_header_renderer(&query).await,
ABTest::ChannelPlaylistsLockup => channel_playlists_lockup(&query).await,
ABTest::MusicPlaylistFacepile => music_playlist_facepile(&query).await,
ABTest::MusicAlbumGroupsReordered => music_album_groups_reordered(&query).await,
}
.unwrap();
pb.inc(1);
@ -141,10 +139,10 @@ pub async fn run_all_tests(n: usize, concurrency: usize) -> Vec<ABTestRes> {
let mut results = Vec::new();
for ab in TESTS_TO_RUN {
let (occurrences, vd_present, vd_absent) = run_test(ab, n, concurrency).await;
let (occurrences, vd_present, vd_absent) = run_test(*ab, n, concurrency).await;
results.push(ABTestRes {
id: ab as u16,
name: ab,
id: *ab as u16,
name: *ab,
tests: n,
occurrences,
vd_present,
@ -408,3 +406,18 @@ pub async fn music_playlist_facepile(rp: &RustyPipeQuery) -> Result<bool> {
.await?;
Ok(res.contains("\"facepile\""))
}
pub async fn music_album_groups_reordered(rp: &RustyPipeQuery) -> Result<bool> {
let id = "UCOR4_bSVIXPsGa4BbCSt60Q";
let res = rp
.raw(
ClientType::DesktopMusic,
"browse",
&QBrowse {
browse_id: id,
params: None,
},
)
.await?;
Ok(res.contains("\"Singles & EPs\""))
}