From effc3727be236f9e6d0de1f84b308e5168515bff Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Tue, 19 Jul 2016 10:15:45 +0100 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20show=20upgrade=20prompts=20for?= =?UTF-8?q?=20users=20with=20custom=20subscription=20accounts.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Set `hasValidSubscription` to true if user subscription is custom. --- .../Subscription/LimitationsManager.coffee | 2 +- .../LimitationsManagerTests.coffee | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/services/web/app/coffee/Features/Subscription/LimitationsManager.coffee b/services/web/app/coffee/Features/Subscription/LimitationsManager.coffee index 7cf01b1c4c..ae98b87877 100644 --- a/services/web/app/coffee/Features/Subscription/LimitationsManager.coffee +++ b/services/web/app/coffee/Features/Subscription/LimitationsManager.coffee @@ -38,7 +38,7 @@ module.exports = SubscriptionLocator.getUsersSubscription user._id, (err, subscription)-> if err? return callback(err) - hasValidSubscription = subscription? and subscription.recurlySubscription_id? + hasValidSubscription = subscription? and (subscription.recurlySubscription_id? or subscription.customAccount?) logger.log user:user, hasValidSubscription:hasValidSubscription, subscription:subscription, "checking if user has subscription" callback err, hasValidSubscription, subscription diff --git a/services/web/test/UnitTests/coffee/Subscription/LimitationsManagerTests.coffee b/services/web/test/UnitTests/coffee/Subscription/LimitationsManagerTests.coffee index 581d5cd6da..94a1edb5f2 100644 --- a/services/web/test/UnitTests/coffee/Subscription/LimitationsManagerTests.coffee +++ b/services/web/test/UnitTests/coffee/Subscription/LimitationsManagerTests.coffee @@ -127,7 +127,23 @@ describe "LimitationsManager", -> @LimitationsManager.userHasSubscription @user, (err, hasSubOrIsGroupMember, subscription)-> subscription.should.deep.equal stubbedSubscription done() - + + describe "when user has a custom account", -> + + beforeEach -> + @fakeSubscription = {customAccount: true} + @SubscriptionLocator.getUsersSubscription.callsArgWith(1, null, @fakeSubscription) + + it 'should return true', (done) -> + @LimitationsManager.userHasSubscription @user, (err, hasSubscription, subscription)-> + hasSubscription.should.equal true + done() + + it 'should return the subscription', (done) -> + @LimitationsManager.userHasSubscription @user, (err, hasSubscription, subscription)=> + subscription.should.deep.equal @fakeSubscription + done() + describe "userIsMemberOfGroupSubscription", -> beforeEach -> @SubscriptionLocator.getMemberSubscriptions = sinon.stub()