From af759728e3c2ae8c9a4f9f94315bf8a46bb32df8 Mon Sep 17 00:00:00 2001 From: Mingwei Samuel Date: Mon, 15 Jan 2024 11:34:27 -0800 Subject: [PATCH] Re-enable, update `spectator-v4` test --- riven/tests/tests_euw.rs | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/riven/tests/tests_euw.rs b/riven/tests/tests_euw.rs index 78ea579..8608e79 100644 --- a/riven/tests/tests_euw.rs +++ b/riven/tests/tests_euw.rs @@ -49,24 +49,29 @@ async_tests! { Ok(()) }, - // TODO: https://github.com/RiotGames/developer-relations/issues/602 - // spectator_combo: async { - // let featured_p = RIOT_API.spectator_v4().get_featured_games(ROUTE); - // let featured = featured_p.await.map_err(|e| e.to_string())?; + // https://github.com/RiotGames/developer-relations/issues/602 + spectator_combo: async { + let featured_p = RIOT_API.spectator_v4().get_featured_games(ROUTE); + let featured = featured_p.await.map_err(|e| e.to_string())?; - // rassert!(!featured.game_list.is_empty()); + rassert!(!featured.game_list.is_empty()); - // let summoner_name = &featured.game_list[0].participants[0].summoner_name; - // let summoner_p = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, summoner_name); - // let summoner = summoner_p.await.map_err(|e| e.to_string())?.ok_or_else(|| "Failed to find summoner".to_owned())?; + // let summoner_name = &featured.game_list[0].participants[0].summoner_name; + // let summoner_p = RIOT_API.summoner_v4().get_by_summoner_name(ROUTE, summoner_name); + // let summoner = summoner_p.await.map_err(|e| e.to_string())?.ok_or_else(|| "Failed to find summoner".to_owned())?; - // let livegame_p = RIOT_API.spectator_v4().get_current_game_info_by_summoner(ROUTE, &summoner.id); - // let livegame_o = livegame_p.await.map_err(|e| e.to_string())?; - // if let Some(livegame) = livegame_o { - // let participant_match = livegame.participants.iter().find(|p| p.summoner_name == *summoner_name); - // rassert!(participant_match.is_some(), "Failed to find summoner in match: {}.", summoner_name); - // } - // Ok(()) - // }, + let featured_game = &featured.game_list[0]; + let participant = &featured_game.participants[0]; + let summoner_id = participant.summoner_id.as_ref() + .ok_or_else(|| format!("Summoner in spectator featured game missing summoner ID: {}", &participant.summoner_name))?; + + let livegame_p = RIOT_API.spectator_v4().get_current_game_info_by_summoner(ROUTE, &summoner_id); + let livegame_o = livegame_p.await.map_err(|e| e.to_string())?; + if let Some(livegame) = livegame_o { + let participant_match = livegame.participants.iter().find(|p| p.summoner_name == participant.summoner_name); + rassert!(participant_match.is_some(), "Failed to find summoner in match: {}.", &participant.summoner_name); + } + Ok(()) + }, } }