mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-14 07:00:01 -04:00
Tweaked the subscription handler to act more like the payment handler when a card charge fails. It returns 402.
This commit is contained in:
parent
cd3bb690f4
commit
aea1e39b58
2 changed files with 20 additions and 2 deletions
|
@ -38,8 +38,11 @@ class SubscriptionHandler extends Handler
|
|||
)
|
||||
),
|
||||
(err) =>
|
||||
@logSubscriptionError(req, 'Stripe customer creation error. '+err)
|
||||
return done({res: 'Database error.', code: 500})
|
||||
if err.type in ['StripeCardError', 'StripeInvalidRequestError']
|
||||
done({res: 'Card error', code: 402})
|
||||
else
|
||||
@logSubscriptionError(req, 'Stripe customer creation error. '+err)
|
||||
return done({res: 'Database error.', code: 500})
|
||||
)
|
||||
|
||||
else
|
||||
|
|
|
@ -95,6 +95,21 @@ describe '/db/user, editing stripe property', ->
|
|||
joeData = null
|
||||
firstSubscriptionID = null
|
||||
|
||||
it 'returns client error when a token fails to charge', (done) ->
|
||||
stripe.tokens.create {
|
||||
card: { number: '4000000000000002', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||
}, (err, token) ->
|
||||
stripeTokenID = token.id
|
||||
loginJoe (joe) ->
|
||||
joeData = joe.toObject()
|
||||
joeData.stripe = {
|
||||
token: stripeTokenID
|
||||
planID: 'basic'
|
||||
}
|
||||
request.put {uri: userURL, json: joeData }, (err, res, body) ->
|
||||
expect(res.statusCode).toBe(402)
|
||||
done()
|
||||
|
||||
it 'creates a subscription when you put a token and plan', (done) ->
|
||||
stripe.tokens.create {
|
||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||
|
|
Loading…
Reference in a new issue