Просмотр исходного кода

Merge pull request #797 from sharelatex/hb-inform-v1-affiliation-confirms

Tell v1 confirmation status of affiliation emails
Hugh O'Brien 8 лет назад
Родитель
Сommit
eeadd1e9bb

+ 2 - 2
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
 

+ 1 - 1
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)

+ 3 - 1
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)->

+ 2 - 2
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