diff --git a/services/web/app/coffee/Features/Institutions/InstitutionsAPI.coffee b/services/web/app/coffee/Features/Institutions/InstitutionsAPI.coffee index c62a8a01bc..d1b2a69816 100644 --- a/services/web/app/coffee/Features/Institutions/InstitutionsAPI.coffee +++ b/services/web/app/coffee/Features/Institutions/InstitutionsAPI.coffee @@ -25,11 +25,11 @@ module.exports = InstitutionsAPI = callback = affiliationOptions affiliationOptions = {} - { university, department, role } = affiliationOptions + { university, department, role, confirmedAt } = affiliationOptions makeAffiliationRequest { method: 'POST' path: "/api/v2/users/#{userId.toString()}/affiliations" - body: { email, university, department, role } + body: { email, university, department, role, confirmedAt } defaultErrorMessage: "Couldn't create affiliation" }, callback diff --git a/services/web/app/coffee/Features/User/UserUpdater.coffee b/services/web/app/coffee/Features/User/UserUpdater.coffee index 9ee81c1ca3..3abffdf444 100644 --- a/services/web/app/coffee/Features/User/UserUpdater.coffee +++ b/services/web/app/coffee/Features/User/UserUpdater.coffee @@ -166,7 +166,7 @@ module.exports = UserUpdater = email = EmailHelper.parseEmail(email) return callback(new Error('invalid email')) if !email? logger.log {userId, email}, 'confirming user email' - addAffiliation userId, email, (error) => + addAffiliation userId, email, {confirmedAt: confirmedAt}, (error) => if error? logger.err error: error, 'problem adding affiliation while confirming email' return callback(error) diff --git a/services/web/test/unit/coffee/Institutions/InstitutionsAPITests.coffee b/services/web/test/unit/coffee/Institutions/InstitutionsAPITests.coffee index 7500e46e40..04f0b61e8e 100644 --- a/services/web/test/unit/coffee/Institutions/InstitutionsAPITests.coffee +++ b/services/web/test/unit/coffee/Institutions/InstitutionsAPITests.coffee @@ -74,6 +74,7 @@ describe "InstitutionsAPI", -> university: { id: 1 } role: 'Prof' department: 'Math' + confirmedAt: new Date() @InstitutionsAPI.addAffiliation @stubbedUser._id, @newEmail, affiliationOptions, (err)=> should.not.exist(err) @request.calledOnce.should.equal true @@ -83,11 +84,12 @@ describe "InstitutionsAPI", -> requestOptions.method.should.equal 'POST' body = requestOptions.body - Object.keys(body).length.should.equal 4 + Object.keys(body).length.should.equal 5 body.email.should.equal @newEmail body.university.should.equal affiliationOptions.university body.department.should.equal affiliationOptions.department body.role.should.equal affiliationOptions.role + body.confirmedAt.should.equal affiliationOptions.confirmedAt done() it 'handle error', (done)-> diff --git a/services/web/test/unit/coffee/User/UserUpdaterTests.coffee b/services/web/test/unit/coffee/User/UserUpdaterTests.coffee index 17f691edba..3be7733153 100644 --- a/services/web/test/unit/coffee/User/UserUpdaterTests.coffee +++ b/services/web/test/unit/coffee/User/UserUpdaterTests.coffee @@ -241,7 +241,7 @@ describe "UserUpdater", -> @UserUpdater.confirmEmail @stubbedUser._id, @newEmail, (err)=> should.not.exist(err) @addAffiliation.calledOnce.should.equal true - sinon.assert.calledWith(@addAffiliation, @stubbedUser._id, @newEmail) + sinon.assert.calledWith(@addAffiliation, @stubbedUser._id, @newEmail, { confirmedAt: new Date() } ) done() it 'handle error', (done)-> @@ -264,7 +264,7 @@ describe "UserUpdater", -> done() it 'handle affiliation error', (done)-> - @addAffiliation.callsArgWith(2, new Error('nope')) + @addAffiliation.callsArgWith(3, new Error('nope')) @UserUpdater.confirmEmail @stubbedUser._id, @newEmail, (err)=> should.exist(err) @UserUpdater.updateUser.called.should.equal false