From 0e7d241fcf426569490e72da820584882ee20f66 Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Sat, 8 Mar 2014 19:01:00 +0000 Subject: [PATCH] fixed has subscription check causing bad redirects subscription != recurlySubscription --- .../Features/Subscription/LimitationsManager.coffee | 9 +++++---- .../coffee/Subscription/LimitationsManagerTests.coffee | 7 ------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/services/web/app/coffee/Features/Subscription/LimitationsManager.coffee b/services/web/app/coffee/Features/Subscription/LimitationsManager.coffee index 24765128da..17b3ee66fc 100644 --- a/services/web/app/coffee/Features/Subscription/LimitationsManager.coffee +++ b/services/web/app/coffee/Features/Subscription/LimitationsManager.coffee @@ -33,12 +33,14 @@ module.exports = @userHasSubscription user, (err, hasSubscription, subscription)=> @userHasFreeTrial user, (err, hasFreeTrial)=> logger.log user_id:user._id, subscription:subscription, hasFreeTrial:hasFreeTrial, hasSubscription:hasSubscription, "checking if user has subscription or free trial" - callback null, hasFreeTrial or hasSubscription, subscription + callback err, hasFreeTrial or hasSubscription, subscription userHasSubscription: (user, callback = (err, hasSubscription, subscription)->) -> logger.log user_id:user._id, "checking if user has subscription" SubscriptionLocator.getUsersSubscription user._id, (err, subscription)-> - hasValidSubscription = subscription? and subscription.recurlySubscription_id? and subscription?.state != "expired" + if err? + return callback(err) + hasValidSubscription = subscription? and subscription.recurlySubscription_id? logger.log user:user, hasValidSubscription:hasValidSubscription, subscription:subscription, "checking if user has subscription" callback err, hasValidSubscription, subscription @@ -51,8 +53,7 @@ module.exports = SubscriptionLocator.getUsersSubscription user_id, (err, subscription)-> limitReached = subscription.member_ids.length >= subscription.membersLimit logger.log user_id:user_id, limitReached:limitReached, currentTotal: subscription.member_ids.length, membersLimit: subscription.membersLimit, "checking if subscription members limit has been reached" - - callback(null, limitReached) + callback(err, limitReached) getOwnerOfProject = (project_id, callback)-> Project.findById project_id, 'owner_ref', (error, project) -> diff --git a/services/web/test/UnitTests/coffee/Subscription/LimitationsManagerTests.coffee b/services/web/test/UnitTests/coffee/Subscription/LimitationsManagerTests.coffee index 58167ae982..a3f965faca 100644 --- a/services/web/test/UnitTests/coffee/Subscription/LimitationsManagerTests.coffee +++ b/services/web/test/UnitTests/coffee/Subscription/LimitationsManagerTests.coffee @@ -117,13 +117,6 @@ describe "LimitationsManager", -> hasSubscription.should.equal false done() - it "should return false if the recurly token is set but subscription state is expired", (done)-> - @SubscriptionLocator.getUsersSubscription.callsArgWith(1, null, {state:"expired", recurlySubscription_id:"1234"}) - @subscription = {} - @LimitationsManager.userHasSubscription @user, (err, hasSubscription)-> - hasSubscription.should.equal false - done() - it "should return false if the subscription is undefined", (done)-> @SubscriptionLocator.getUsersSubscription.callsArgWith(1) @LimitationsManager.userHasSubscription @user, (err, hasSubscription)->