From dfa8725c554cb8a8059a988b06ee89adedd5db4d Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Sat, 10 Oct 2020 10:31:42 +0200 Subject: [PATCH] upgrade mongoose and fix tests (#12657) --- package-lock.json | 16 +++++------ package.json | 2 +- test/api/unit/libs/payments/payments.test.js | 30 ++++++++++---------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index 189eb66c42..e206e9dd64 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9446,13 +9446,13 @@ } }, "mongoose": { - "version": "5.10.3", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.10.3.tgz", - "integrity": "sha512-FLemltuzcsCHlFpEZ3bYOiNhJfHful+GoS+3uRgdEWGlY0HKfOjm9xsISM/tql8vRvhjr7qveuRfoBBGO3xNtw==", + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.10.9.tgz", + "integrity": "sha512-7dkr1d6Uyk87hELzoc6B7Zo7kkPTx8rKummk51Y0je2V2Ttsw0KFPwTp1G8JIbBta7Wpw8j15PJi0d33Ode2nw==", "requires": { "bson": "^1.1.4", "kareem": "2.3.1", - "mongodb": "3.6.1", + "mongodb": "3.6.2", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.7.0", "mquery": "3.2.2", @@ -9473,11 +9473,11 @@ } }, "mongodb": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.1.tgz", - "integrity": "sha512-uH76Zzr5wPptnjEKJRQnwTsomtFOU/kQEU8a9hKHr2M7y9qVk7Q4Pkv0EQVp88742z9+RwvsdTw6dRjDZCNu1g==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.2.tgz", + "integrity": "sha512-sSZOb04w3HcnrrXC82NEh/YGCmBuRgR+C1hZgmmv4L6dBz4BkRse6Y8/q/neXer9i95fKUBbFi4KgeceXmbsOA==", "requires": { - "bl": "^2.2.0", + "bl": "^2.2.1", "bson": "^1.1.4", "denque": "^1.4.1", "require_optional": "^1.0.1", diff --git a/package.json b/package.json index 911cc846c5..143e6d3b85 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "method-override": "^3.0.0", "moment": "^2.29.0", "moment-recur": "^1.0.7", - "mongoose": "^5.10.3", + "mongoose": "^5.10.9", "morgan": "^1.10.0", "nconf": "^0.10.0", "node-gcm": "^1.0.3", diff --git a/test/api/unit/libs/payments/payments.test.js b/test/api/unit/libs/payments/payments.test.js index c641991fb9..64ced4587e 100644 --- a/test/api/unit/libs/payments/payments.test.js +++ b/test/api/unit/libs/payments/payments.test.js @@ -421,10 +421,22 @@ describe('payments/index', () => { }); context('Mystery Items', () => { - it('awards mystery items when within the timeframe for a mystery item', async () => { - const mayMysteryItemTimeframe = 1464725113000; // May 31st 2016 - const fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe); + let clock; + const mayMysteryItem = 'armor_mystery_201605'; + beforeEach(() => { + const mayMysteryItemTimeframe = new Date(2016, 4, 31); // May 31st 2016 + clock = sinon.useFakeTimers({ + now: mayMysteryItemTimeframe, + toFake: ['Date'], + }); + }); + + afterEach(() => { + if (clock) clock.restore(); + }); + + it('awards mystery items when within the timeframe for a mystery item', async () => { data = { paymentMethod: 'PaymentMethod', user, sub: { key: 'basic_3mo' } }; const oldNotificationsCount = user.notifications.length; @@ -437,14 +449,9 @@ describe('payments/index', () => { expect(user.purchased.plan.mysteryItems).to.include('head_mystery_201605'); expect(user.notifications.length).to.equal(oldNotificationsCount + 1); expect(user.notifications[0].type).to.equal('NEW_MYSTERY_ITEMS'); - - fakeClock.restore(); }); it('does not award mystery item when user already owns the item', async () => { - const mayMysteryItemTimeframe = 1464725113000; // May 31st 2016 - const fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe); - const mayMysteryItem = 'armor_mystery_201605'; user.items.gear.owned[mayMysteryItem] = true; data = { paymentMethod: 'PaymentMethod', user, sub: { key: 'basic_3mo' } }; @@ -453,14 +460,9 @@ describe('payments/index', () => { expect(user.purchased.plan.mysteryItems).to.have.a.lengthOf(1); expect(user.purchased.plan.mysteryItems).to.include('head_mystery_201605'); - - fakeClock.restore(); }); it('does not award mystery item when user already has the item in the mystery box', async () => { - const mayMysteryItemTimeframe = 1464725113000; // May 31st 2016 - const fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe); - const mayMysteryItem = 'armor_mystery_201605'; user.purchased.plan.mysteryItems = [mayMysteryItem]; sandbox.spy(user.purchased.plan.mysteryItems, 'push'); @@ -470,8 +472,6 @@ describe('payments/index', () => { expect(user.purchased.plan.mysteryItems.push).to.be.calledOnce; expect(user.purchased.plan.mysteryItems.push).to.be.calledWith('head_mystery_201605'); - - fakeClock.restore(); }); }); });