Merge pull request #1903 from overleaf/jel-oauth-email-notification

OAuth link/unlink email notification via v2

GitOrigin-RevId: 36b0c6153d3eb8174adc4fd684837d81be95b644
This commit is contained in:
Jessica Lawshe
2019-07-11 15:35:25 +00:00
committed by sharelatex
parent d07a46c51b
commit c8b6b83848
4 changed files with 157 additions and 55 deletions
@@ -144,3 +144,15 @@ module.exports =
authWithV1: true
url: '/docs'
}
oauthProviders:
'provider': {
name: 'provider'
},
'collabratec': {
name: 'collabratec'
}
'google': {
name: 'google'
},
@@ -93,13 +93,13 @@ describe('ThirdPartyIdentityManager', function() {
describe('link', function() {
describe('when provider not already linked', () =>
it('should link provider to user', function(done) {
return ThirdPartyIdentityManager.link(
ThirdPartyIdentityManager.link(
this.user.id,
this.provider,
this.externalUserId,
this.externalData,
function(err, res) {
expect(res.nModified).to.equal(1)
expect(res.thirdPartyIdentifiers.length).to.equal(1)
return done()
}
)
@@ -107,7 +107,7 @@ describe('ThirdPartyIdentityManager', function() {
describe('when provider is already linked', function() {
beforeEach(function(done) {
return ThirdPartyIdentityManager.link(
ThirdPartyIdentityManager.link(
this.user.id,
this.provider,
this.externalUserId,
@@ -117,29 +117,27 @@ describe('ThirdPartyIdentityManager', function() {
})
it('should link provider to user', function(done) {
return ThirdPartyIdentityManager.link(
ThirdPartyIdentityManager.link(
this.user.id,
this.provider,
this.externalUserId,
this.externalData,
function(err, res) {
expect(res.nModified).to.equal(1)
return done()
expect(res).to.exist
done()
}
)
})
it('should not create duplicate thirdPartyIdentifiers', function(done) {
return ThirdPartyIdentityManager.link(
ThirdPartyIdentityManager.link(
this.user.id,
this.provider,
this.externalUserId,
this.externalData,
(err, res) => {
return this.user.get(function(err, user) {
expect(user.thirdPartyIdentifiers.length).to.equal(1)
return done()
})
function(err, user) {
expect(user.thirdPartyIdentifiers.length).to.equal(1)
return done()
}
)
})
@@ -151,13 +149,9 @@ describe('ThirdPartyIdentityManager', function() {
this.provider,
this.externalUserId,
this.externalData,
(err, res) => {
return this.user.get((err, user) => {
expect(user.thirdPartyIdentifiers[0].externalData).to.deep.equal(
this.externalData
)
return done()
})
(err, user) => {
expect(user.thirdPartyIdentifiers.length).to.equal(1)
return done()
}
)
})
@@ -193,7 +187,7 @@ describe('ThirdPartyIdentityManager', function() {
this.provider,
function(err, res) {
expect(err).to.be.null
expect(res.nModified).to.equal(0)
expect(res.thirdPartyIdentifiers.length).to.equal(0)
return done()
}
)
@@ -214,11 +208,9 @@ describe('ThirdPartyIdentityManager', function() {
return ThirdPartyIdentityManager.unlink(
this.user.id,
this.provider,
(err, res) => {
return this.user.get(function(err, user) {
expect(user.thirdPartyIdentifiers.length).to.equal(0)
return done()
})
(err, user) => {
expect(user.thirdPartyIdentifiers.length).to.equal(0)
return done()
}
)
})