From 63f8fe453a109e32b7671171b53a0f401c29a0bc Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Tue, 2 Aug 2016 09:48:09 +0100 Subject: [PATCH] Use UserGetter rather than User model --- .../CollaboratorsInviteController.coffee | 3 +- .../CollaboratorsInviteControllerTests.coffee | 50 +++++++++---------- 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/services/web/app/coffee/Features/Collaborators/CollaboratorsInviteController.coffee b/services/web/app/coffee/Features/Collaborators/CollaboratorsInviteController.coffee index 93c84f4614..7f5adcc76f 100644 --- a/services/web/app/coffee/Features/Collaborators/CollaboratorsInviteController.coffee +++ b/services/web/app/coffee/Features/Collaborators/CollaboratorsInviteController.coffee @@ -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) diff --git a/services/web/test/UnitTests/coffee/Collaborators/CollaboratorsInviteControllerTests.coffee b/services/web/test/UnitTests/coffee/Collaborators/CollaboratorsInviteControllerTests.coffee index 9cf4db291e..ee36ac3da6 100644 --- a/services/web/test/UnitTests/coffee/Collaborators/CollaboratorsInviteControllerTests.coffee +++ b/services/web/test/UnitTests/coffee/Collaborators/CollaboratorsInviteControllerTests.coffee @@ -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", ->