From 6004aec011ff613dfb573b856246752891f17840 Mon Sep 17 00:00:00 2001 From: Luis Alberto Santos Date: Mon, 2 Sep 2024 17:46:31 +0200 Subject: [PATCH] fix tests --- async-stripe-types/src/ids.rs | 14 +++++++++++++ tests/tests/it/blocking/charge.rs | 6 +++--- tests/tests/it/blocking/checkout.rs | 6 +++--- tests/tests/it/blocking/customer.rs | 7 ++++--- tests/tests/it/blocking/invoice.rs | 17 +++++++++------- tests/tests/it/blocking/plan_interval.rs | 6 +++--- tests/tests/it/blocking/price.rs | 10 ++++------ tests/tests/it/blocking/product.rs | 3 +-- tests/tests/it/blocking/subscription.rs | 21 ++++++++++++-------- tests/tests/it/blocking/subscription_item.rs | 13 +++++++----- tests/tests/it/blocking/transfer_reversal.rs | 6 +++--- 11 files changed, 66 insertions(+), 43 deletions(-) diff --git a/async-stripe-types/src/ids.rs b/async-stripe-types/src/ids.rs index 1234a1e36..612cac485 100644 --- a/async-stripe-types/src/ids.rs +++ b/async-stripe-types/src/ids.rs @@ -106,6 +106,13 @@ macro_rules! def_id { } } + impl From<&str> for $struct_name { + #[inline] + fn from(text: &str) -> Self { + Self(smol_str::SmolStr::from(text)) + } + } + impl From<$struct_name> for String { #[inline] fn from(id: $struct_name) -> Self { @@ -120,6 +127,13 @@ macro_rules! def_id { } } + impl From<&$struct_name> for $struct_name { + #[inline] + fn from(id: &$struct_name) -> Self { + id.clone() + } + } + #[cfg(feature = "deserialize")] impl<'de> serde::Deserialize<'de> for $struct_name { fn deserialize(deserializer: D) -> Result diff --git a/tests/tests/it/blocking/charge.rs b/tests/tests/it/blocking/charge.rs index ba9a25cff..64104c45c 100644 --- a/tests/tests/it/blocking/charge.rs +++ b/tests/tests/it/blocking/charge.rs @@ -1,11 +1,11 @@ -use stripe_core::charge::RetrieveCharge; +use stripe_core::{charge::RetrieveCharge, ChargeId}; #[test] fn is_charge_retrievable() { let client = super::get_client(); - let id = "ch_123".parse().unwrap(); - let charge = RetrieveCharge::new(&id).send_blocking(&client).unwrap(); + let id = ChargeId::from("ch_123"); + let charge = RetrieveCharge::new(id).send_blocking(&client).unwrap(); assert_eq!(charge.id, "ch_123"); assert!(charge.customer.is_none()); assert!(charge.invoice.is_none()); diff --git a/tests/tests/it/blocking/checkout.rs b/tests/tests/it/blocking/checkout.rs index 34f023d6b..ce69db1bc 100644 --- a/tests/tests/it/blocking/checkout.rs +++ b/tests/tests/it/blocking/checkout.rs @@ -1,4 +1,4 @@ -use stripe_checkout::checkout_session::RetrieveCheckoutSession; +use stripe_checkout::{checkout_session::RetrieveCheckoutSession, CheckoutSessionId}; use super::get_client; @@ -6,7 +6,7 @@ use super::get_client; fn is_checkout_session_retrievable() { let client = get_client(); - let id = "cs_test_123".parse().unwrap(); - let session = RetrieveCheckoutSession::new(&id).send_blocking(&client).unwrap(); + let id = CheckoutSessionId::from("cs_test_123"); + let session = RetrieveCheckoutSession::new(id).send_blocking(&client).unwrap(); assert_eq!(session.id, "cs_test_123"); } diff --git a/tests/tests/it/blocking/customer.rs b/tests/tests/it/blocking/customer.rs index 856b6ddf2..0114f5e3f 100644 --- a/tests/tests/it/blocking/customer.rs +++ b/tests/tests/it/blocking/customer.rs @@ -1,5 +1,6 @@ -use stripe_core::customer::{ - CreateCustomer, DeleteCustomer, RetrieveCustomer, RetrieveCustomerReturned, +use stripe_core::{ + customer::{CreateCustomer, DeleteCustomer, RetrieveCustomer, RetrieveCustomerReturned}, + CustomerId, }; use super::{get_base_test_config, get_client}; @@ -30,7 +31,7 @@ fn customer_create_and_delete_with_account() { #[test] fn retrieve_customer() { let client = get_client(); - let id = "cus_123".parse().unwrap(); + let id = CustomerId::from("cus_123"); let ret = RetrieveCustomer::new(&id).send_blocking(&client).unwrap(); match ret { RetrieveCustomerReturned::Customer(cust) => { diff --git a/tests/tests/it/blocking/invoice.rs b/tests/tests/it/blocking/invoice.rs index 3fc0ec0df..0ad34f5f5 100644 --- a/tests/tests/it/blocking/invoice.rs +++ b/tests/tests/it/blocking/invoice.rs @@ -1,6 +1,9 @@ -use stripe_billing::invoice::{ - FinalizeInvoiceInvoice, PayInvoice, RetrieveInvoice, UpcomingInvoice, - UpcomingInvoiceSubscriptionItems, +use stripe_billing::{ + invoice::{ + FinalizeInvoiceInvoice, PayInvoice, RetrieveInvoice, UpcomingInvoice, + UpcomingInvoiceSubscriptionItems, + }, + InvoiceId, }; use stripe_core::ChargeId; @@ -10,9 +13,9 @@ use super::get_client; #[test] fn is_invoice_retrievable() { let client = get_client(); - let id = "in_123".parse().unwrap(); - let result = RetrieveInvoice::new(&id) - .expand(&["charge.balance_transaction"]) + let id = InvoiceId::from("in_123"); + let result = RetrieveInvoice::new(id) + .expand([String::from("charge.balance_transaction")]) .send_blocking(&client) .unwrap(); let charge = result.charge.unwrap(); @@ -28,7 +31,7 @@ fn is_invoice_retrievable() { fn is_invoice_payable() { let client = get_client(); - let id = "in_123".parse().unwrap(); + let id = InvoiceId::from("in_123"); let result = PayInvoice::new(&id) .forgive(true) diff --git a/tests/tests/it/blocking/plan_interval.rs b/tests/tests/it/blocking/plan_interval.rs index 6968f46b5..b1e231644 100644 --- a/tests/tests/it/blocking/plan_interval.rs +++ b/tests/tests/it/blocking/plan_interval.rs @@ -6,7 +6,7 @@ use stripe_billing::subscription_item::{ CreateSubscriptionItem, CreateSubscriptionItemPriceData, CreateSubscriptionItemPriceDataRecurring, CreateSubscriptionItemPriceDataRecurringInterval, }; -use stripe_billing::PlanInterval; +use stripe_billing::{PlanId, PlanInterval}; use stripe_types::Currency; use super::get_client; @@ -15,8 +15,8 @@ use super::get_client; fn can_create_plan() { let client = get_client(); - let id = "price_123".parse().unwrap(); - let plan = RetrievePlan::new(&id).send_blocking(&client).unwrap(); + let id = PlanId::from("price_123"); + let plan = RetrievePlan::new(id).send_blocking(&client).unwrap(); assert_eq!(plan.interval, PlanInterval::Month); assert_eq!(plan.amount, Some(2000)); } diff --git a/tests/tests/it/blocking/price.rs b/tests/tests/it/blocking/price.rs index 04c1a6360..5cf359259 100644 --- a/tests/tests/it/blocking/price.rs +++ b/tests/tests/it/blocking/price.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use stripe_product::price::{UpdatePrice, UpdatePriceCurrencyOptions}; -use stripe_product::PriceTaxBehavior; +use stripe_product::{PriceId, PriceTaxBehavior}; use stripe_types::Currency; use super::get_client; @@ -16,11 +16,9 @@ fn update_price() { opt.unit_amount = Some(4); currency_opts.insert(Currency::USD, opt); - let price_id = "price_123".parse().unwrap(); - let price = UpdatePrice::new(&price_id) - .currency_options(¤cy_opts) - .send_blocking(&client) - .unwrap(); + let price_id = PriceId::from("price_123"); + let price = + UpdatePrice::new(&price_id).currency_options(currency_opts).send_blocking(&client).unwrap(); assert_eq!(price.id, price_id); assert_eq!(price.tax_behavior, Some(PriceTaxBehavior::Unspecified)); diff --git a/tests/tests/it/blocking/product.rs b/tests/tests/it/blocking/product.rs index ffc3c278f..b98ef914e 100644 --- a/tests/tests/it/blocking/product.rs +++ b/tests/tests/it/blocking/product.rs @@ -9,9 +9,8 @@ use super::get_client; fn create_product() { let client = get_client(); - let features = vec![Features::new("great feature")]; let product = CreateProduct::new("my product") - .marketing_features(&features) + .marketing_features([Features::new("great feature")]) .send_blocking(&client) .unwrap(); assert_eq!(product.marketing_features.first().unwrap().name, Some("great feature".into())); diff --git a/tests/tests/it/blocking/subscription.rs b/tests/tests/it/blocking/subscription.rs index 296cef640..305bf7c6d 100644 --- a/tests/tests/it/blocking/subscription.rs +++ b/tests/tests/it/blocking/subscription.rs @@ -1,5 +1,8 @@ -use stripe_billing::subscription::{ - CancelSubscription, CancelSubscriptionCancellationDetails, RetrieveSubscription, +use stripe_billing::{ + subscription::{ + CancelSubscription, CancelSubscriptionCancellationDetails, RetrieveSubscription, + }, + SubscriptionId, }; use super::get_client; @@ -11,8 +14,8 @@ use super::get_client; fn is_subscription_retrievable() { let client = get_client(); - let id = "sub_123".parse().unwrap(); - let subscription = RetrieveSubscription::new(&id).send_blocking(&client).unwrap(); + let id = SubscriptionId::from("sub_123"); + let subscription = RetrieveSubscription::new(id).send_blocking(&client).unwrap(); assert_eq!(subscription.id, "sub_123"); assert!(!subscription.customer.is_object()); } @@ -22,9 +25,11 @@ fn is_subscription_retrievable() { fn is_subscription_expandable() { let client = get_client(); - let id = "sub_123".parse().unwrap(); - let subscription = - RetrieveSubscription::new(&id).expand(&["customer"]).send_blocking(&client).unwrap(); + let id = SubscriptionId::from("sub_123"); + let subscription = RetrieveSubscription::new(&id) + .expand([String::from("customer")]) + .send_blocking(&client) + .unwrap(); assert_eq!(subscription.id, "sub_123"); assert!(subscription.customer.is_object()); } @@ -37,7 +42,7 @@ fn can_prorate_when_cancelling_subscription() { let client = get_client(); let details = CancelSubscriptionCancellationDetails::new(); - let id = "sub_123".parse().unwrap(); + let id = SubscriptionId::from("sub_123"); let result = CancelSubscription::new(&id) .prorate(true) .cancellation_details(details) diff --git a/tests/tests/it/blocking/subscription_item.rs b/tests/tests/it/blocking/subscription_item.rs index 83952466d..d601b0cb7 100644 --- a/tests/tests/it/blocking/subscription_item.rs +++ b/tests/tests/it/blocking/subscription_item.rs @@ -1,7 +1,10 @@ use chrono::Utc; -use stripe_billing::usage_record::{ - CreateSubscriptionItemUsageRecord, CreateSubscriptionItemUsageRecordAction, - CreateSubscriptionItemUsageRecordTimestamp, +use stripe_billing::{ + usage_record::{ + CreateSubscriptionItemUsageRecord, CreateSubscriptionItemUsageRecordAction, + CreateSubscriptionItemUsageRecordTimestamp, + }, + SubscriptionItemId, }; use super::get_client; @@ -10,8 +13,8 @@ use super::get_client; fn can_create_usage_record() { let client = get_client(); - let subscription_item_id = "si_JVbsG8wiy20ycs".parse().unwrap(); - let usage_record = CreateSubscriptionItemUsageRecord::new(&subscription_item_id, 42) + let subscription_item_id = SubscriptionItemId::from("si_JVbsG8wiy20ycs"); + let usage_record = CreateSubscriptionItemUsageRecord::new(&subscription_item_id, 42u64) .action(CreateSubscriptionItemUsageRecordAction::Increment) .timestamp(CreateSubscriptionItemUsageRecordTimestamp::Timestamp(Utc::now().timestamp())) .send_blocking(&client) diff --git a/tests/tests/it/blocking/transfer_reversal.rs b/tests/tests/it/blocking/transfer_reversal.rs index a3d598482..b8bdb138b 100644 --- a/tests/tests/it/blocking/transfer_reversal.rs +++ b/tests/tests/it/blocking/transfer_reversal.rs @@ -1,4 +1,4 @@ -use stripe_connect::transfer_reversal::CreateIdTransferReversal; +use stripe_connect::{transfer_reversal::CreateIdTransferReversal, TransferId}; use super::get_client; @@ -7,8 +7,8 @@ use super::get_client; fn create_transfer_reversal() { let client = get_client(); - let id = "tr_Ll53U0VONALFk36".parse().unwrap(); - let created = CreateIdTransferReversal::new(&id) + let id = TransferId::from("tr_Ll53U0VONALFk36"); + let created = CreateIdTransferReversal::new(id) .refund_application_fee(true) .amount(4) .send_blocking(&client)