Skip to content

Commit dcfff23

Browse files
authored
Merge pull request #94 from arlyon/fix/overlapping-imports
Api changes to resolve overlapping imports
2 parents dac4a42 + 6eb5b05 commit dcfff23

File tree

3 files changed

+53
-2
lines changed

3 files changed

+53
-2
lines changed

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ to run a [`stripe-mock`](https://github.com/stripe/stripe-mock) server and selec
6464

6565
```sh
6666
docker run --rm -d -it -p 12111-12112:12111-12112 stripemock/stripe-mock:latest
67-
cargo test --features runtime-async-std-surf
67+
cargo test --features runtime-blocking
6868
```
6969

7070
## Communication

src/resources.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,17 @@ pub use {
152152
invoiceitem::*,
153153
line_item::*,
154154
plan::*,
155+
plan::PlanInterval,
155156
price::*,
156157
promotion_code::*,
157-
subscription::*,
158158
subscription_item::*,
159+
subscription_item::PlanInterval as SubscriptionItemInterval,
160+
subscription_item::SubscriptionItemPriceDataRecurring as SubscriptionItemPriceDataRecurring,
161+
// need to import this afterwards so that the SubscriptionItemPriceDataRecurring
162+
// isn't silently ignored
163+
subscription::*,
164+
subscription::PlanInterval as SubscriptionInterval,
165+
subscription::SubscriptionItemPriceDataRecurring as SubscriptionPriceDataRecurring,
159166
subscription_schedule::*,
160167
tax_id::*,
161168
tax_rate::*,

tests/plan_interval.rs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
//! Basic tests to ensure that the plan interval types
2+
//! are exported properly. Mainly just needs to compile.
3+
4+
mod mock;
5+
6+
#[test]
7+
#[cfg(feature = "blocking")]
8+
fn can_create_plan() {
9+
let id = "price_123".parse().unwrap();
10+
mock::with_client(|client| {
11+
let mut plan = stripe::Plan::retrieve(client, &id, &[]).unwrap();
12+
plan.interval = Some(stripe::PlanInterval::Month);
13+
});
14+
}
15+
16+
#[test]
17+
#[cfg(feature = "blocking")]
18+
fn can_create_subscription_interval() {
19+
let recurring = stripe::SubscriptionPriceDataRecurring {
20+
interval: stripe::SubscriptionInterval::Month,
21+
interval_count: Some(100),
22+
};
23+
}
24+
25+
#[test]
26+
#[cfg(feature = "blocking")]
27+
fn can_create_subscription_plan_interval() {
28+
mock::with_client(|client| {
29+
let id = "sub_123".parse().unwrap();
30+
let mut create = stripe::CreateSubscriptionItem::new(id);
31+
create.price_data = Some(stripe::SubscriptionItemPriceData {
32+
currency: stripe::Currency::USD,
33+
product: "My Product".to_string(),
34+
recurring: stripe::SubscriptionItemPriceDataRecurring {
35+
interval: stripe::SubscriptionItemInterval::Day,
36+
interval_count: Some(6),
37+
},
38+
tax_behavior: None,
39+
unit_amount: None,
40+
unit_amount_decimal: None,
41+
});
42+
let result = stripe::SubscriptionItem::create(client, create).unwrap();
43+
});
44+
}

0 commit comments

Comments
 (0)