Skip to content

Commit

Permalink
Bugfix: in subscriptions.create, trial_days using timezone naive utcn…
Browse files Browse the repository at this point in the history
…ow() and add test

Fixes #573
  • Loading branch information
miaoz2001 committed Jul 13, 2018
1 parent 893572e commit de9dcfb
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pinax/stripe/actions/subscriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def create(customer, plan, quantity=None, trial_days=None, token=None, coupon=No

subscription_params = {}
if trial_days:
subscription_params["trial_end"] = datetime.datetime.utcnow() + datetime.timedelta(days=trial_days)
subscription_params["trial_end"] = datetime.datetime.now(tz=timezone.utc) + datetime.timedelta(days=trial_days)
if token:
subscription_params["source"] = token

Expand Down
5 changes: 4 additions & 1 deletion pinax/stripe/tests/test_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -1091,7 +1091,10 @@ def test_subscription_create_with_trial(self, SubscriptionCreateMock, SyncMock):
subscriptions.create(self.customer, "the-plan", trial_days=3)
self.assertTrue(SubscriptionCreateMock.called)
_, kwargs = SubscriptionCreateMock.call_args
self.assertEquals(kwargs["trial_end"].date(), (datetime.datetime.utcnow() + datetime.timedelta(days=3)).date())
self.assertEquals(kwargs["trial_end"].date(),
(datetime.datetime.now(tz=timezone.utc) + datetime.timedelta(days=3)).date())
self.assertEquals(kwargs["trial_end"].tzname(),
(datetime.datetime.now(tz=timezone.utc) + datetime.timedelta(days=3)).tzname())

@patch("pinax.stripe.actions.subscriptions.sync_subscription_from_stripe_data")
@patch("stripe.Subscription.create")
Expand Down

0 comments on commit de9dcfb

Please sign in to comment.