#[cfg(test)]
mod test {
use dotenv::dotenv;
use xendit::{client::XenditClient, invoice::{CreateInvoiceRequest, InvoiceClient}};
#[tokio::test]
async fn test_create_invoice() {
dotenv().ok();
let client = XenditClient::new(std::env::var("XENDIT_API_KEY").unwrap_or("".to_string()));
let request_body = CreateInvoiceRequest::new(String::from("63b7c72b9c6818001035db04"), 510000.0);
assert!(
match InvoiceClient::new(&client).create_invoice(request_body, None).await {
Ok(_) => true,
Err(e) => panic!("Error: {}", e)
}
)
}
#[tokio::test]
async fn test_get_invoice() {
dotenv().ok();
let client = XenditClient::new(std::env::var("XENDIT_API_KEY").unwrap_or("".to_string()));
let request_body = CreateInvoiceRequest::new(String::from("63b7c72b9c6818001035db03"), 510000.0);
let result = InvoiceClient::new(&client).create_invoice(request_body, None).await.expect("Failed Create Invoice");
let invoice_id = result.get_id();
assert!(
match InvoiceClient::new(&client).get_invoice_by_id(invoice_id.to_string(), None).await {
Ok(_) => true,
Err(e) => panic!("Error: {}", e)
}
)
}
#[tokio::test]
async fn test_get_list_of_invoices() {
dotenv().ok();
let client = XenditClient::new(std::env::var("XENDIT_API_KEY").unwrap_or("".to_string()));
assert!(
match InvoiceClient::new(&client).get_invoices(None).await {
Ok(_) => true,
Err(e) => panic!("Error: {}", e)
}
)
}
}