Skip to content

Commit

Permalink
add unit tests for splits endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
reubenwong97 committed Oct 20, 2023
1 parent 6ce0e15 commit fe8823a
Showing 1 changed file with 112 additions and 0 deletions.
112 changes: 112 additions & 0 deletions src/api/splits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ impl<'a> Endpoint for Splits<'a> {
#[cfg(test)]
mod tests {

use chrono::NaiveDate;

use crate::api::common::SortOrder;
use crate::api::splits::Splits;
use crate::api::{self, Query};
use crate::test::client::{ExpectedUrl, SingleTestClient};
Expand All @@ -117,4 +120,113 @@ mod tests {
let endpoint = Splits::builder().build().unwrap();
api::ignore(endpoint).query(&client).unwrap();
}

#[test]
fn splits_symbol() {
let endpoint = ExpectedUrl::builder()
.endpoint("splits")
.add_query_params(&[("symbols", "AAPL")])
.build()
.unwrap();
let client = SingleTestClient::new_raw(endpoint, "");

let endpoint = Splits::builder().symbol("AAPL").build().unwrap();
api::ignore(endpoint).query(&client).unwrap();
}

#[test]
fn splits_symbols() {
let endpoint = ExpectedUrl::builder()
.endpoint("splits")
.add_query_params(&[("symbols", "AAPL"), ("symbols", "GOOG")])
.build()
.unwrap();
let client = SingleTestClient::new_raw(endpoint, "");

let endpoint = Splits::builder()
.symbol("AAPL")
.symbols(["AAPL", "GOOG"].iter().copied())
.build()
.unwrap();
api::ignore(endpoint).query(&client).unwrap();
}

#[test]
fn splits_sort() {
let endpoint = ExpectedUrl::builder()
.endpoint("splits")
.add_query_params(&[("sort", "ASC")])
.build()
.unwrap();
let client = SingleTestClient::new_raw(endpoint, "");

let endpoint = Splits::builder()
.sort(SortOrder::Ascending)
.build()
.unwrap();
api::ignore(endpoint).query(&client).unwrap();
}

#[test]
fn splits_date_from() {
let endpoint = ExpectedUrl::builder()
.endpoint("splits")
.add_query_params(&[("date_from", "2020-01-01")])
.build()
.unwrap();
let client = SingleTestClient::new_raw(endpoint, "");

let endpoint = Splits::builder()
.date_from(NaiveDate::from_ymd_opt(2020, 1, 1).unwrap())
.build()
.unwrap();
api::ignore(endpoint).query(&client).unwrap();
}

#[test]
fn splits_date_to() {
let endpoint = ExpectedUrl::builder()
.endpoint("splits")
.add_query_params(&[("date_to", "2020-01-01")])
.build()
.unwrap();
let client = SingleTestClient::new_raw(endpoint, "");

let endpoint = Splits::builder()
.date_to(NaiveDate::from_ymd_opt(2020, 1, 1).unwrap())
.build()
.unwrap();
api::ignore(endpoint).query(&client).unwrap();
}

#[test]
fn splits_limit() {
let endpoint = ExpectedUrl::builder()
.endpoint("splits")
.add_query_params(&[("limit", "50")])
.build()
.unwrap();
let client = SingleTestClient::new_raw(endpoint, "");

let endpoint = Splits::builder().limit(50).unwrap().build().unwrap();
api::ignore(endpoint).query(&client).unwrap();
}

#[test]
fn splits_over_limit() {
assert!(Splits::builder().limit(9999).is_err());
}

#[test]
fn splits_offset() {
let endpoint = ExpectedUrl::builder()
.endpoint("splits")
.add_query_params(&[("offset", "2")])
.build()
.unwrap();
let client = SingleTestClient::new_raw(endpoint, "");

let endpoint = Splits::builder().offset(2).build().unwrap();
api::ignore(endpoint).query(&client).unwrap();
}
}

0 comments on commit fe8823a

Please sign in to comment.