2021-01-16 22:17:13 +00:00
|
|
|
#![cfg_attr(feature = "nightly", feature(custom_test_frameworks))]
|
|
|
|
#![cfg_attr(feature = "nightly", test_runner(my_runner))]
|
|
|
|
|
|
|
|
mod async_tests;
|
|
|
|
mod testutils;
|
|
|
|
use testutils::RIOT_API;
|
|
|
|
|
|
|
|
use colored::*;
|
|
|
|
|
|
|
|
use riven::consts::*;
|
|
|
|
|
2021-05-22 04:25:19 +00:00
|
|
|
const ROUTE: ValPlatformRoute = ValPlatformRoute::LATAM;
|
2021-01-16 22:17:13 +00:00
|
|
|
|
|
|
|
|
|
|
|
async_tests!{
|
|
|
|
my_runner {
|
|
|
|
val_content_ranked_test: async {
|
2021-05-22 04:25:19 +00:00
|
|
|
let p = RIOT_API.val_content_v1().get_content(ROUTE, Some("zh-CN"));
|
2021-01-16 22:17:13 +00:00
|
|
|
let contents = p.await.map_err(|e| e.to_string())?;
|
|
|
|
|
2022-05-19 06:52:54 +00:00
|
|
|
// Find the LAST active act, via `.rev().find(...)`.
|
|
|
|
let _act = contents.acts.iter().rev().find(|act| act.is_active)
|
2021-01-16 22:17:13 +00:00
|
|
|
.ok_or(format!("No active acts of {} found.", contents.acts.len()))?;
|
|
|
|
|
2022-05-19 06:52:54 +00:00
|
|
|
// TODO: RE-ENABLE THIS, figure out why it is failing. Seems to be a Riot issue.
|
|
|
|
// let p = RIOT_API.val_ranked_v1().get_leaderboard(ROUTE, &act.id, None, None);
|
|
|
|
// let leaderboard = p.await.map_err(|e| e.to_string())?
|
|
|
|
// .ok_or(format!("Failed to get act leaderboard {} {}.", act.id, act.name))?;
|
|
|
|
|
|
|
|
// rassert_eq!(act.id, leaderboard.act_id);
|
|
|
|
|
|
|
|
// for (i, p) in leaderboard.players.iter().take(10).enumerate() {
|
|
|
|
// rassert_eq!(i + 1, p.leaderboard_rank as usize);
|
|
|
|
// println!("{:>2}: {:>4} {:<22} ({} wins)",
|
|
|
|
// p.leaderboard_rank,
|
|
|
|
// p.ranked_rating,
|
|
|
|
// format!("{}#{}",
|
|
|
|
// p.game_name.as_deref().unwrap_or("<NONE>"),
|
|
|
|
// p.tag_line.as_deref().unwrap_or("<NONE>")),
|
|
|
|
// p.number_of_wins);
|
|
|
|
// }
|
2021-01-16 22:17:13 +00:00
|
|
|
|
|
|
|
Ok(())
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|