| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- assert = require("chai").assert
- sinon = require('sinon')
- chai = require('chai')
- should = chai.should()
- expect = chai.expect
- modulePath = "../../../app/js/LocalFileWriter.js"
- SandboxedModule = require('sandboxed-module')
- describe "LocalFileWriter", ->
- beforeEach ->
- @writeStream =
- on: (type, cb)->
- if type == "finish"
- cb()
- @fs =
- createWriteStream : sinon.stub().returns(@writeStream)
- unlink: sinon.stub()
- @writer = SandboxedModule.require modulePath, requires:
- "fs": @fs
- "logger-sharelatex":
- log:->
- err:->
- @stubbedFsPath = "something/uploads/eio2k1j3"
- describe "writeStrem", ->
- beforeEach ->
- @writer._getPath = sinon.stub().returns(@stubbedFsPath)
- it "write the stream to ./uploads", (done)->
- stream =
- pipe: (dest)=>
- dest.should.equal @writeStream
- done()
- on: ->
- @writer.writeStream stream, null, ()=>
- it "should send the path in the callback", (done)->
- stream =
- pipe: (dest)=>
- on: (type, cb)->
- if type == "end"
- cb()
- @writer.writeStream stream, null, (err, fsPath)=>
- fsPath.should.equal @stubbedFsPath
- done()
- describe "delete file", ->
- it "should unlink the file", (done)->
- error = "my error"
- @fs.unlink.callsArgWith(1, error)
- @writer.deleteFile @stubbedFsPath, (err)=>
- @fs.unlink.calledWith(@stubbedFsPath).should.equal true
- err.should.equal error
- done()
|