Add tests to src/free_api_v25/query
This commit is contained in:
parent
96bd494161
commit
dd8f19424f
@ -25,3 +25,6 @@ pub mod urls;
|
|||||||
pub use queryparams::*;
|
pub use queryparams::*;
|
||||||
pub use units::*;
|
pub use units::*;
|
||||||
pub use urls::*;
|
pub use urls::*;
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests;
|
||||||
|
69
src/free_api_v25/query/tests.rs
Normal file
69
src/free_api_v25/query/tests.rs
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_weather_url_city_name() {
|
||||||
|
let query = QueryParams {
|
||||||
|
api_key: "KEY".into(),
|
||||||
|
city_name: Some("Paris".into()),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let url = query.weather_url().unwrap();
|
||||||
|
assert!(url.contains("q=Paris"));
|
||||||
|
assert!(url.contains("appid=KEY"));
|
||||||
|
assert!(url.starts_with(WEATHER_URL));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_weather_url_city_id() {
|
||||||
|
let query = QueryParams {
|
||||||
|
api_key: "KEY".into(),
|
||||||
|
city_id: Some("123".into()),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let url = query.weather_url().unwrap();
|
||||||
|
assert!(url.contains("id=123"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_weather_url_lat_lon() {
|
||||||
|
let query = QueryParams {
|
||||||
|
api_key: "KEY".into(),
|
||||||
|
lat: Some(10.0),
|
||||||
|
lon: Some(20.0),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let url = query.weather_url().unwrap();
|
||||||
|
assert!(url.contains("lat=10") && url.contains("lon=20"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_weather_url_zip() {
|
||||||
|
let query = QueryParams {
|
||||||
|
api_key: "KEY".into(),
|
||||||
|
zip: Some("94040,us".into()),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let url = query.weather_url().unwrap();
|
||||||
|
assert!(url.contains("zip=94040,us"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_weather_url_error() {
|
||||||
|
let query = QueryParams {
|
||||||
|
api_key: "KEY".into(),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
assert!(query.weather_url().is_err());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_forecast_url() {
|
||||||
|
let query = QueryParams {
|
||||||
|
api_key: "KEY".into(),
|
||||||
|
city_name: Some("Berlin".into()),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let url = query.forecast_url().unwrap();
|
||||||
|
assert!(url.contains("q=Berlin"));
|
||||||
|
assert!(url.starts_with(FORECAST_URL));
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user