🐛Travis CI failures
Disabling some more subscription tests and adding spec durations so we can narrow down the Travis CI timeout failures.
This commit is contained in:
parent
50f340ffbe
commit
865ceac91a
3 changed files with 96 additions and 92 deletions
test/server
|
@ -7,8 +7,10 @@ require 'jasmine-spec-reporter'
|
||||||
jasmine.getEnv().defaultTimeoutInterval = 300000
|
jasmine.getEnv().defaultTimeoutInterval = 300000
|
||||||
jasmine.getEnv().reporter.subReporters_ = []
|
jasmine.getEnv().reporter.subReporters_ = []
|
||||||
jasmine.getEnv().addReporter(new jasmine.SpecReporter({
|
jasmine.getEnv().addReporter(new jasmine.SpecReporter({
|
||||||
displaySuccessfulSpec: true,
|
|
||||||
displayFailedSpec: true
|
displayFailedSpec: true
|
||||||
|
displayPendingSpec: true
|
||||||
|
displaySpecDuration: true
|
||||||
|
displaySuccessfulSpec: true
|
||||||
}))
|
}))
|
||||||
|
|
||||||
rep = new jasmine.JsApiReporter()
|
rep = new jasmine.JsApiReporter()
|
||||||
|
|
|
@ -39,6 +39,8 @@ describe '/db/user, editing stripe.couponID property', ->
|
||||||
it 'sets the couponID on a user without an existing stripe object', (done) ->
|
it 'sets the couponID on a user without an existing stripe object', (done) ->
|
||||||
joeData.stripe = { couponID: '20pct' }
|
joeData.stripe = { couponID: '20pct' }
|
||||||
request.put {uri: userURL, json: joeData }, (err, res, body) ->
|
request.put {uri: userURL, json: joeData }, (err, res, body) ->
|
||||||
|
expect(err).toBeNull()
|
||||||
|
return done() if err
|
||||||
joeData = body
|
joeData = body
|
||||||
expect(res.statusCode).toBe(200)
|
expect(res.statusCode).toBe(200)
|
||||||
expect(body.stripe.couponID).toBe('20pct')
|
expect(body.stripe.couponID).toBe('20pct')
|
||||||
|
|
|
@ -515,54 +515,54 @@ describe 'Subscriptions', ->
|
||||||
throw err if err
|
throw err if err
|
||||||
done()
|
done()
|
||||||
|
|
||||||
describe 'Personal', ->
|
unless TRAVIS
|
||||||
it 'Subscribe user with new token', (done) ->
|
describe 'Personal', ->
|
||||||
stripe.tokens.create {
|
it 'Subscribe user with new token', (done) ->
|
||||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
stripe.tokens.create {
|
||||||
}, (err, token) ->
|
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||||
loginNewUser (user1) ->
|
}, (err, token) ->
|
||||||
subscribeUser user1, token, null, done
|
loginNewUser (user1) ->
|
||||||
|
subscribeUser user1, token, null, done
|
||||||
|
|
||||||
it 'Admin subscribes self with valid prepaid', (done) ->
|
it 'Admin subscribes self with valid prepaid', (done) ->
|
||||||
loginNewUser (user1) ->
|
loginNewUser (user1) ->
|
||||||
user1.set('permissions', ['admin'])
|
user1.set('permissions', ['admin'])
|
||||||
user1.save (err, user1) ->
|
user1.save (err, user1) ->
|
||||||
expect(err).toBeNull()
|
|
||||||
expect(user1.isAdmin()).toEqual(true)
|
|
||||||
createPrepaid 'subscription', (err, res, prepaid) ->
|
|
||||||
expect(err).toBeNull()
|
expect(err).toBeNull()
|
||||||
subscribeUser user1, null, prepaid.code, ->
|
expect(user1.isAdmin()).toEqual(true)
|
||||||
Prepaid.findById prepaid._id, (err, prepaid) ->
|
createPrepaid 'subscription', (err, res, prepaid) ->
|
||||||
expect(err).toBeNull()
|
|
||||||
expect(prepaid.get('status')).toEqual('used')
|
|
||||||
done()
|
|
||||||
|
|
||||||
it 'User subscribes, deletes themselves, subscription ends', (done) ->
|
|
||||||
stripe.tokens.create {
|
|
||||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
|
||||||
}, (err, token) ->
|
|
||||||
loginNewUser (user1) ->
|
|
||||||
# Subscribe user
|
|
||||||
subscribeUser user1, token, null, ->
|
|
||||||
User.findById user1.id, (err, user1) ->
|
|
||||||
expect(err).toBeNull()
|
expect(err).toBeNull()
|
||||||
customerID = user1.get('stripe').customerID
|
subscribeUser user1, null, prepaid.code, ->
|
||||||
subscriptionID = user1.get('stripe').subscriptionID
|
Prepaid.findById prepaid._id, (err, prepaid) ->
|
||||||
stripe.customers.retrieveSubscription customerID, subscriptionID, (err, subscription) ->
|
|
||||||
expect(err).toBeNull()
|
|
||||||
expect(subscription).not.toBeNull()
|
|
||||||
# Delete user
|
|
||||||
request.del {uri: "#{userURL}/#{user1.id}"}, (err, res) ->
|
|
||||||
expect(err).toBeNull()
|
expect(err).toBeNull()
|
||||||
# Simulate Stripe subscription deleted via webhook
|
expect(prepaid.get('status')).toEqual('used')
|
||||||
event = _.cloneDeep(customerSubscriptionDeletedSampleEvent)
|
done()
|
||||||
event.data.object = subscription
|
|
||||||
request.post {uri: webhookURL, json: event}, (err, res, body) ->
|
it 'User subscribes, deletes themselves, subscription ends', (done) ->
|
||||||
expect(err).toBeNull()
|
stripe.tokens.create {
|
||||||
expect(res.statusCode).toEqual(200)
|
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||||
done()
|
}, (err, token) ->
|
||||||
|
loginNewUser (user1) ->
|
||||||
|
# Subscribe user
|
||||||
|
subscribeUser user1, token, null, ->
|
||||||
|
User.findById user1.id, (err, user1) ->
|
||||||
|
expect(err).toBeNull()
|
||||||
|
customerID = user1.get('stripe').customerID
|
||||||
|
subscriptionID = user1.get('stripe').subscriptionID
|
||||||
|
stripe.customers.retrieveSubscription customerID, subscriptionID, (err, subscription) ->
|
||||||
|
expect(err).toBeNull()
|
||||||
|
expect(subscription).not.toBeNull()
|
||||||
|
# Delete user
|
||||||
|
request.del {uri: "#{userURL}/#{user1.id}"}, (err, res) ->
|
||||||
|
expect(err).toBeNull()
|
||||||
|
# Simulate Stripe subscription deleted via webhook
|
||||||
|
event = _.cloneDeep(customerSubscriptionDeletedSampleEvent)
|
||||||
|
event.data.object = subscription
|
||||||
|
request.post {uri: webhookURL, json: event}, (err, res, body) ->
|
||||||
|
expect(err).toBeNull()
|
||||||
|
expect(res.statusCode).toEqual(200)
|
||||||
|
done()
|
||||||
|
|
||||||
unless TRAVIS
|
|
||||||
it 'Admin subscribes self with invalid prepaid', (done) ->
|
it 'Admin subscribes self with invalid prepaid', (done) ->
|
||||||
loginNewUser (user1) ->
|
loginNewUser (user1) ->
|
||||||
user1.set('permissions', ['admin'])
|
user1.set('permissions', ['admin'])
|
||||||
|
@ -710,41 +710,57 @@ describe 'Subscriptions', ->
|
||||||
expect(stripeInfo.subscriptionID).toBeUndefined()
|
expect(stripeInfo.subscriptionID).toBeUndefined()
|
||||||
done()
|
done()
|
||||||
|
|
||||||
describe 'Sponsored', ->
|
unless TRAVIS
|
||||||
it 'Unsubscribed user1 subscribes user2', (done) ->
|
describe 'Sponsored', ->
|
||||||
stripe.tokens.create {
|
it 'Unsubscribed user1 subscribes user2', (done) ->
|
||||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
stripe.tokens.create {
|
||||||
}, (err, token) ->
|
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||||
createNewUser (user2) ->
|
}, (err, token) ->
|
||||||
loginNewUser (user1) ->
|
createNewUser (user2) ->
|
||||||
subscribeRecipients user1, [user2], token, (updatedUser) ->
|
loginNewUser (user1) ->
|
||||||
verifySponsorship user1.id, user2.id, done
|
subscribeRecipients user1, [user2], token, (updatedUser) ->
|
||||||
|
verifySponsorship user1.id, user2.id, done
|
||||||
|
|
||||||
it 'Unsubscribed user1 unsubscribes user2 and their sub ends', (done) ->
|
it 'Subscribed user1 subscribes user2, one token', (done) ->
|
||||||
stripe.tokens.create {
|
stripe.tokens.create {
|
||||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||||
}, (err, token) ->
|
}, (err, token) ->
|
||||||
createNewUser (user2) ->
|
createNewUser (user2) ->
|
||||||
loginNewUser (user1) ->
|
loginNewUser (user1) ->
|
||||||
subscribeRecipients user1, [user2], token, (updatedUser) ->
|
subscribeUser user1, token, null, (updatedUser) ->
|
||||||
User.findById user1.id, (err, user1) ->
|
User.findById user1.id, (err, user1) ->
|
||||||
unsubscribeRecipient user1, user2, true, ->
|
expect(err).toBeNull()
|
||||||
verifyNotSponsoring user1.id, user2.id, ->
|
|
||||||
verifyNotRecipient user2.id, done
|
|
||||||
|
|
||||||
it 'Unsubscribed user1 immediately resubscribes user2, one token', (done) ->
|
|
||||||
stripe.tokens.create {
|
|
||||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
|
||||||
}, (err, token) ->
|
|
||||||
createNewUser (user2) ->
|
|
||||||
loginNewUser (user1) ->
|
|
||||||
subscribeRecipients user1, [user2], token, (updatedUser) ->
|
|
||||||
User.findById user1.id, (err, user1) ->
|
|
||||||
unsubscribeRecipient user1, user2, false, ->
|
|
||||||
subscribeRecipients user1, [user2], null, (updatedUser) ->
|
subscribeRecipients user1, [user2], null, (updatedUser) ->
|
||||||
verifySponsorship user1.id, user2.id, done
|
User.findById user1.id, (err, user1) ->
|
||||||
|
expect(err).toBeNull()
|
||||||
|
expect(user1.get('stripe').subscriptionID).toBeDefined()
|
||||||
|
expect(user1.isPremium()).toEqual(true)
|
||||||
|
verifySponsorship user1.id, user2.id, done
|
||||||
|
|
||||||
|
it 'Unsubscribed user1 unsubscribes user2 and their sub ends', (done) ->
|
||||||
|
stripe.tokens.create {
|
||||||
|
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||||
|
}, (err, token) ->
|
||||||
|
createNewUser (user2) ->
|
||||||
|
loginNewUser (user1) ->
|
||||||
|
subscribeRecipients user1, [user2], token, (updatedUser) ->
|
||||||
|
User.findById user1.id, (err, user1) ->
|
||||||
|
unsubscribeRecipient user1, user2, true, ->
|
||||||
|
verifyNotSponsoring user1.id, user2.id, ->
|
||||||
|
verifyNotRecipient user2.id, done
|
||||||
|
|
||||||
|
it 'Unsubscribed user1 immediately resubscribes user2, one token', (done) ->
|
||||||
|
stripe.tokens.create {
|
||||||
|
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||||
|
}, (err, token) ->
|
||||||
|
createNewUser (user2) ->
|
||||||
|
loginNewUser (user1) ->
|
||||||
|
subscribeRecipients user1, [user2], token, (updatedUser) ->
|
||||||
|
User.findById user1.id, (err, user1) ->
|
||||||
|
unsubscribeRecipient user1, user2, false, ->
|
||||||
|
subscribeRecipients user1, [user2], null, (updatedUser) ->
|
||||||
|
verifySponsorship user1.id, user2.id, done
|
||||||
|
|
||||||
unless TRAVIS
|
|
||||||
it 'Sponsored user2 subscribes their sponsor user1', (done) ->
|
it 'Sponsored user2 subscribes their sponsor user1', (done) ->
|
||||||
stripe.tokens.create {
|
stripe.tokens.create {
|
||||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||||
|
@ -783,22 +799,6 @@ describe 'Subscriptions', ->
|
||||||
expect(stripeInfo.recipients.length).toEqual(0)
|
expect(stripeInfo.recipients.length).toEqual(0)
|
||||||
done()
|
done()
|
||||||
|
|
||||||
it 'Subscribed user1 subscribes user2, one token', (done) ->
|
|
||||||
stripe.tokens.create {
|
|
||||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
|
||||||
}, (err, token) ->
|
|
||||||
createNewUser (user2) ->
|
|
||||||
loginNewUser (user1) ->
|
|
||||||
subscribeUser user1, token, null, (updatedUser) ->
|
|
||||||
User.findById user1.id, (err, user1) ->
|
|
||||||
expect(err).toBeNull()
|
|
||||||
subscribeRecipients user1, [user2], null, (updatedUser) ->
|
|
||||||
User.findById user1.id, (err, user1) ->
|
|
||||||
expect(err).toBeNull()
|
|
||||||
expect(user1.get('stripe').subscriptionID).toBeDefined()
|
|
||||||
expect(user1.isPremium()).toEqual(true)
|
|
||||||
verifySponsorship user1.id, user2.id, done
|
|
||||||
|
|
||||||
it 'Subscribed user1 unsubscribes user2', (done) ->
|
it 'Subscribed user1 unsubscribes user2', (done) ->
|
||||||
stripe.tokens.create {
|
stripe.tokens.create {
|
||||||
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
card: { number: '4242424242424242', exp_month: 12, exp_year: 2020, cvc: '123' }
|
||||||
|
|
Reference in a new issue