use steamr::client::SteamClient;
#[test]
fn games_response_is_valid() {
let test_api_key = std::env::var("IT_API_KEY").expect("IT_API_KEY variable not provided");
let test_client = SteamClient::from(test_api_key);
let test_steam_id = std::env::var("IT_STEAM_ID").expect("IT_STEAM_ID variable not provided");
let test_steam_lib = test_client
.get_library(&test_steam_id)
.unwrap_or_else(|e| panic!("{:?}", e));
assert!(!test_steam_lib.games.is_empty());
assert!(!test_steam_lib.games[0].name.is_empty());
}
#[test]
fn game_news_response_is_valid() {
let test_client = SteamClient::from("no-valid-key-needed-for-this-test".to_string());
let test_app_id = "10";
let test_news = test_client
.get_game_news(&test_app_id, 5, 300)
.unwrap_or_else(|e| panic!("{:?}", e));
assert!(test_news.count >= test_news.game_news.len().try_into().unwrap());
assert_eq!(test_news.game_news.len(), 5);
let test_client = SteamClient::new();
let test_news = test_client
.get_game_news(&test_app_id, 5, 300)
.unwrap_or_else(|e| panic!("{:?}", e));
assert!(test_news.count >= test_news.game_news.len().try_into().unwrap());
assert_eq!(test_news.game_news.len(), 5);
}
#[test]
fn user_stats_response_is_valid() {
let test_api_key = std::env::var("IT_API_KEY").expect("IT_API_KEY variable not provided");
let test_client = SteamClient::from(test_api_key);
let test_steam_id = std::env::var("IT_STEAM_ID").expect("IT_STEAM_ID variable not provided");
let test_app_id = "1086940";
let test_player_stats = test_client
.get_player_stats(&test_steam_id, test_app_id)
.unwrap_or_else(|e| panic!("{:?}", e));
assert_eq!(test_player_stats.game_name, "Baldur's Gate 3");
assert!(!test_player_stats.achievements.is_empty());
assert!(!test_player_stats.stats.is_empty());
}