mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-11 05:05:13 +00:00
Use UserGetter rather than User model
This commit is contained in:
parent
dca1c9be5d
commit
63f8fe453a
2 changed files with 24 additions and 29 deletions
services/web
app/coffee/Features/Collaborators
test/UnitTests/coffee/Collaborators
|
@ -2,7 +2,6 @@ ProjectGetter = require "../Project/ProjectGetter"
|
|||
LimitationsManager = require "../Subscription/LimitationsManager"
|
||||
UserGetter = require "../User/UserGetter"
|
||||
Project = require("../../models/Project").Project
|
||||
User = require("../../models/User").User
|
||||
CollaboratorsInviteHandler = require('./CollaboratorsInviteHandler')
|
||||
mimelib = require("mimelib")
|
||||
logger = require('logger-sharelatex')
|
||||
|
@ -80,7 +79,7 @@ module.exports = CollaboratorsInviteController =
|
|||
logger.log {projectId, token}, "no invite found for this token"
|
||||
return _renderInvalidPage()
|
||||
# check the user who sent the invite exists
|
||||
User.findOne {_id: invite.sendingUserId}, {email: 1, first_name: 1, last_name: 1}, (err, owner) ->
|
||||
UserGetter.getUser {_id: invite.sendingUserId}, {email: 1, first_name: 1, last_name: 1}, (err, owner) ->
|
||||
if err?
|
||||
logger.err {err, projectId}, "error getting project owner"
|
||||
return next(err)
|
||||
|
|
|
@ -11,9 +11,6 @@ ObjectId = require("mongojs").ObjectId
|
|||
|
||||
describe "CollaboratorsInviteController", ->
|
||||
beforeEach ->
|
||||
@User = class User
|
||||
constructor: (options={}) -> this
|
||||
@findOne: sinon.stub()
|
||||
@Project = class Project
|
||||
constructor: () ->
|
||||
this
|
||||
|
@ -24,9 +21,8 @@ describe "CollaboratorsInviteController", ->
|
|||
"../Editor/EditorRealTimeController": @EditorRealTimeController = {}
|
||||
'../Subscription/LimitationsManager' : @LimitationsManager = {}
|
||||
'../Project/ProjectEditorHandler' : @ProjectEditorHandler = {}
|
||||
'../User/UserGetter': @UserGetter = {}
|
||||
'../User/UserGetter': @UserGetter = {getUser: sinon.stub()}
|
||||
'../../models/Project': {Project: @Project}
|
||||
'../../models/User': {User; @User}
|
||||
'logger-sharelatex': @logger = {err: sinon.stub(), error: sinon.stub(), log: sinon.stub()}
|
||||
@res = new MockResponse()
|
||||
@req = new MockRequest()
|
||||
|
@ -195,7 +191,7 @@ describe "CollaboratorsInviteController", ->
|
|||
last_name: "Doe"
|
||||
email: "john@example.com"
|
||||
@Project.findOne.callsArgWith(2, null, @fakeProject)
|
||||
@User.findOne.callsArgWith(2, null, @owner)
|
||||
@UserGetter.getUser.callsArgWith(2, null, @owner)
|
||||
@CollaboratorsInviteHandler.getInviteByToken = sinon.stub().callsArgWith(2, null, @invite)
|
||||
@callback = sinon.stub()
|
||||
@next = sinon.stub()
|
||||
|
@ -220,9 +216,9 @@ describe "CollaboratorsInviteController", ->
|
|||
it 'should call getInviteByToken', ->
|
||||
@CollaboratorsInviteHandler.getInviteByToken.callCount.should.equal 1
|
||||
|
||||
it 'should call User.findOne', ->
|
||||
@User.findOne.callCount.should.equal 1
|
||||
@User.findOne.calledWith({_id: @fakeProject.owner_ref}).should.equal true
|
||||
it 'should call User.getUser', ->
|
||||
@UserGetter.getUser.callCount.should.equal 1
|
||||
@UserGetter.getUser.calledWith({_id: @fakeProject.owner_ref}).should.equal true
|
||||
|
||||
describe 'when Project.findOne produces an error', ->
|
||||
|
||||
|
@ -241,8 +237,8 @@ describe "CollaboratorsInviteController", ->
|
|||
it 'should not call getInviteByToken', ->
|
||||
@CollaboratorsInviteHandler.getInviteByToken.callCount.should.equal 0
|
||||
|
||||
it 'should not call User.findOne', ->
|
||||
@User.findOne.callCount.should.equal 0
|
||||
it 'should not call User.getUser', ->
|
||||
@UserGetter.getUser.callCount.should.equal 0
|
||||
|
||||
describe 'when Project.findOne does not find a project', ->
|
||||
|
||||
|
@ -264,8 +260,8 @@ describe "CollaboratorsInviteController", ->
|
|||
it 'should not call getInviteByToken', ->
|
||||
@CollaboratorsInviteHandler.getInviteByToken.callCount.should.equal 0
|
||||
|
||||
it 'should not call User.findOne', ->
|
||||
@User.findOne.callCount.should.equal 0
|
||||
it 'should not call User.getUser', ->
|
||||
@UserGetter.getUser.callCount.should.equal 0
|
||||
|
||||
describe 'when the getInviteByToken produces an error', ->
|
||||
|
||||
|
@ -284,8 +280,8 @@ describe "CollaboratorsInviteController", ->
|
|||
it 'should call getInviteByToken', ->
|
||||
@CollaboratorsInviteHandler.getInviteByToken.callCount.should.equal 1
|
||||
|
||||
it 'should not call User.findOne', ->
|
||||
@User.findOne.callCount.should.equal 0
|
||||
it 'should not call User.getUser', ->
|
||||
@UserGetter.getUser.callCount.should.equal 0
|
||||
|
||||
describe 'when the getInviteByToken does not produce an invite', ->
|
||||
|
||||
|
@ -308,8 +304,8 @@ describe "CollaboratorsInviteController", ->
|
|||
it 'should call getInviteByToken', ->
|
||||
@CollaboratorsInviteHandler.getInviteByToken.callCount.should.equal 1
|
||||
|
||||
it 'should not call User.findOne', ->
|
||||
@User.findOne.callCount.should.equal 0
|
||||
it 'should not call User.getUser', ->
|
||||
@UserGetter.getUser.callCount.should.equal 0
|
||||
|
||||
describe 'when the user is already a member of the project', ->
|
||||
|
||||
|
@ -332,13 +328,13 @@ describe "CollaboratorsInviteController", ->
|
|||
it 'should not call getInviteByToken', ->
|
||||
@CollaboratorsInviteHandler.getInviteByToken.callCount.should.equal 0
|
||||
|
||||
it 'should not call User.findOne', ->
|
||||
@User.findOne.callCount.should.equal 0
|
||||
it 'should not call User.getUser', ->
|
||||
@UserGetter.getUser.callCount.should.equal 0
|
||||
|
||||
describe 'when User.findOne produces an error', ->
|
||||
describe 'when User.getUser produces an error', ->
|
||||
|
||||
beforeEach ->
|
||||
@User.findOne.callsArgWith(2, new Error('woops'))
|
||||
@UserGetter.getUser.callsArgWith(2, new Error('woops'))
|
||||
@CollaboratorsInviteController.viewInvite @req, @res, @next
|
||||
|
||||
it 'should produce an error', ->
|
||||
|
@ -352,13 +348,13 @@ describe "CollaboratorsInviteController", ->
|
|||
@Project.findOne.callCount.should.equal 1
|
||||
@Project.findOne.calledWith({_id: @project_id}).should.equal true
|
||||
|
||||
it 'should call User.findOne', ->
|
||||
@User.findOne.callCount.should.equal 1
|
||||
it 'should call User.getUser', ->
|
||||
@UserGetter.getUser.callCount.should.equal 1
|
||||
|
||||
describe 'when User.findOne does not find a user', ->
|
||||
describe 'when User.getUser does not find a user', ->
|
||||
|
||||
beforeEach ->
|
||||
@User.findOne.callsArgWith(2, null, null)
|
||||
@UserGetter.getUser.callsArgWith(2, null, null)
|
||||
@CollaboratorsInviteController.viewInvite @req, @res, @next
|
||||
|
||||
it 'should render the not-valid view template', ->
|
||||
|
@ -372,8 +368,8 @@ describe "CollaboratorsInviteController", ->
|
|||
@Project.findOne.callCount.should.equal 1
|
||||
@Project.findOne.calledWith({_id: @project_id}).should.equal true
|
||||
|
||||
it 'should call User.findOne', ->
|
||||
@User.findOne.callCount.should.equal 1
|
||||
it 'should call User.getUser', ->
|
||||
@UserGetter.getUser.callCount.should.equal 1
|
||||
|
||||
describe "revokeInvite", ->
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue