mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-28 17:31:47 +00:00
59 lines
1.7 KiB
CoffeeScript
59 lines
1.7 KiB
CoffeeScript
should = require('chai').should()
|
|
modulePath = "../../../../app/js/Features/Project/ProjectDetailsHandler"
|
|
SandboxedModule = require('sandboxed-module')
|
|
sinon = require('sinon')
|
|
assert = require("chai").assert
|
|
require('chai').should()
|
|
|
|
describe 'Project details handler', ->
|
|
|
|
beforeEach ->
|
|
@ProjectGetter =
|
|
getProjectWithoutDocLines: sinon.stub()
|
|
@ProjectModel =
|
|
update: sinon.stub()
|
|
@handler = SandboxedModule.require modulePath, requires:
|
|
"./ProjectGetter":@ProjectGetter
|
|
'../../models/Project': Project:@ProjectModel
|
|
'logger-sharelatex':
|
|
log:->
|
|
err:->
|
|
@project_id = "321l3j1kjkjl"
|
|
@project =
|
|
name: "project"
|
|
description: "this is a great project"
|
|
something:"should not exist"
|
|
compiler: "latexxxxxx"
|
|
|
|
|
|
describe "getDetails", ->
|
|
|
|
it "should find the project", (done)->
|
|
@ProjectGetter.getProjectWithoutDocLines.callsArgWith(1, null, @project)
|
|
@handler.getDetails @project_id, (err, details)=>
|
|
details.name.should.equal @project.name
|
|
details.description.should.equal @project.description
|
|
details.compiler.should.equal @project.compiler
|
|
assert.equal(details.something, undefined)
|
|
done()
|
|
|
|
|
|
it "should return the error", (done)->
|
|
error = "some error"
|
|
@ProjectGetter.getProjectWithoutDocLines.callsArgWith(1, error)
|
|
@handler.getDetails @project_id, (err)=>
|
|
err.should.equal error
|
|
done()
|
|
|
|
describe "setProjectDescription", ->
|
|
|
|
beforeEach ->
|
|
@description = "updated teh description"
|
|
|
|
it "should update the project detials", (done)->
|
|
@ProjectModel.update.callsArgWith(2)
|
|
@handler.setProjectDescription @project_id, @description, =>
|
|
@ProjectModel.update.calledWith({_id:@project_id}, {description:@description}).should.equal true
|
|
done()
|
|
|
|
|