diff --git a/test/api/unit/libs/payments/payments.test.js b/test/api/unit/libs/payments/payments.test.js index 7b75db7877..eacc5b86d0 100644 --- a/test/api/unit/libs/payments/payments.test.js +++ b/test/api/unit/libs/payments/payments.test.js @@ -505,12 +505,27 @@ describe('payments/index', () => { expect(user.purchased.plan.perkMonthCount).to.eql(2); }); - it('sets plan.perkMonthCount to zero when creating new subscription', async () => { + it('sets plan.perkMonthCount to zero when creating new monthly subscription', async () => { user.purchased.plan.perkMonthCount = 2; await api.createSubscription(data); expect(user.purchased.plan.perkMonthCount).to.eql(0); }); + it('sets plan.perkMonthCount to zero when creating new 3 month subscription', async () => { + user.purchased.plan.perkMonthCount = 2; + await api.createSubscription(data); + expect(user.purchased.plan.perkMonthCount).to.eql(0); + }); + + it('updates plan.consecutive.offset when changing subscription type', async () => { + await api.createSubscription(data); + expect(user.purchased.plan.consecutive.offset).to.eql(3); + data.sub.key = "basic_6mo"; + await api.createSubscription(data); + expect(user.purchased.plan.consecutive.offset).to.eql(6); + }); + + it('awards the Royal Purple Jackalope pet', async () => { await api.createSubscription(data); diff --git a/website/server/libs/payments/subscriptions.js b/website/server/libs/payments/subscriptions.js index 9911ab9ac7..eaf8b76b7e 100644 --- a/website/server/libs/payments/subscriptions.js +++ b/website/server/libs/payments/subscriptions.js @@ -255,7 +255,7 @@ async function createSubscription (data) { // Block sub perks if (months > 0 && (!data.gift || !isNewSubscription)) { if (!data.gift && !groupId) { - plan.consecutive.offset = months; + plan.consecutive.offset = block.months; } await plan.incrementPerkCounterAndReward(recipient._id, months); }