From 35cb3924e2205fa1f4362d70aae5ab4e07e28f41 Mon Sep 17 00:00:00 2001 From: Tim Alby Date: Wed, 11 Jul 2018 14:57:35 +0200 Subject: [PATCH] refresh features after confirming email --- services/web/app/coffee/Features/User/UserUpdater.coffee | 3 ++- .../web/test/unit/coffee/User/UserUpdaterTests.coffee | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/services/web/app/coffee/Features/User/UserUpdater.coffee b/services/web/app/coffee/Features/User/UserUpdater.coffee index 948be16d41..5e9e3d906d 100644 --- a/services/web/app/coffee/Features/User/UserUpdater.coffee +++ b/services/web/app/coffee/Features/User/UserUpdater.coffee @@ -6,6 +6,7 @@ async = require("async") ObjectId = mongojs.ObjectId UserGetter = require("./UserGetter") { addAffiliation, removeAffiliation } = require("./UserAffiliationsManager") +FeaturesUpdater = require("../Subscription/FeaturesUpdater") EmailHelper = require "../Helpers/EmailHelper" Errors = require "../Errors/Errors" @@ -126,7 +127,7 @@ module.exports = UserUpdater = logger.log {res, userId, email}, "tried to confirm email" if res.n == 0 return callback(new Errors.NotFoundError('user id and email do no match')) - callback() + FeaturesUpdater.refreshFeatures userId, true, callback [ 'updateUser' diff --git a/services/web/test/unit/coffee/User/UserUpdaterTests.coffee b/services/web/test/unit/coffee/User/UserUpdaterTests.coffee index 3820e2a448..cd8bb48cf4 100644 --- a/services/web/test/unit/coffee/User/UserUpdaterTests.coffee +++ b/services/web/test/unit/coffee/User/UserUpdaterTests.coffee @@ -21,12 +21,14 @@ describe "UserUpdater", -> @logger = err: sinon.stub(), log: -> @addAffiliation = sinon.stub().yields() @removeAffiliation = sinon.stub().callsArgWith(2, null) + @refreshFeatures = sinon.stub().yields() @UserUpdater = SandboxedModule.require modulePath, requires: "logger-sharelatex": @logger "./UserGetter": @UserGetter './UserAffiliationsManager': addAffiliation: @addAffiliation removeAffiliation: @removeAffiliation + '../Subscription/FeaturesUpdater': refreshFeatures: @refreshFeatures "../../infrastructure/mongojs":@mongojs "metrics-sharelatex": timeAsyncMethod: sinon.stub() @@ -245,3 +247,9 @@ describe "UserUpdater", -> should.exist(err) @UserUpdater.updateUser.called.should.equal false done() + + it 'refresh features', (done)-> + @UserUpdater.confirmEmail @stubbedUser._id, @newEmail, (err)=> + should.not.exist(err) + sinon.assert.calledWith(@refreshFeatures, @stubbedUser._id, true) + done()