|
|
@@ -0,0 +1,41 @@
|
|
|
+SandboxedModule = require('sandboxed-module')
|
|
|
+assert = require('assert')
|
|
|
+require('chai').should()
|
|
|
+sinon = require('sinon')
|
|
|
+modulePath = require('path').join __dirname, '../../../../app/js/Features/Dropbox/DropboxProjectController.js'
|
|
|
+
|
|
|
+describe 'DropboxProjectController', ->
|
|
|
+ beforeEach ->
|
|
|
+ @DropboxProjectController = SandboxedModule.require modulePath, requires:
|
|
|
+ './DropboxHandler': @DropboxHandler = {}
|
|
|
+ '../Project/ProjectGetter': @ProjectGetter = {}
|
|
|
+ 'logger-sharelatex':
|
|
|
+ log:->
|
|
|
+ err:->
|
|
|
+
|
|
|
+ @project_id = "project-id-123"
|
|
|
+ @user_id = "user-id-123"
|
|
|
+ @req = {}
|
|
|
+ @res =
|
|
|
+ json: sinon.stub()
|
|
|
+
|
|
|
+ describe "getStatus", ->
|
|
|
+ beforeEach ->
|
|
|
+ @req.params =
|
|
|
+ Project_id: @project_id
|
|
|
+ @ProjectGetter.getProject = sinon.stub().callsArgWith(2, null, { owner_ref: @user_id })
|
|
|
+ @DropboxHandler.getUserRegistrationStatus = sinon.stub().callsArgWith(1, null, @status = {"mock": "status"})
|
|
|
+ @DropboxProjectController.getStatus @req, @res
|
|
|
+
|
|
|
+ it "should look up the project owner", ->
|
|
|
+ @ProjectGetter.getProject
|
|
|
+ .calledWith(@project_id, {owner_ref: 1})
|
|
|
+ .should.equal true
|
|
|
+
|
|
|
+ it "should get the owner's Dropbox status", ->
|
|
|
+ @DropboxHandler.getUserRegistrationStatus
|
|
|
+ .calledWith(@user_id)
|
|
|
+ .should.equal true
|
|
|
+
|
|
|
+ it "should send the status to the client", ->
|
|
|
+ @res.json.calledWith(@status).should.equal true
|