overleaf/services/filestore/test/unit/coffee/FileConverterTests.js

82 lines
2.3 KiB
JavaScript
Raw Normal View History

2014-02-14 11:39:05 -05:00
assert = require("chai").assert
sinon = require('sinon')
chai = require('chai')
should = chai.should()
expect = chai.expect
modulePath = "../../../app/js/FileConverter.js"
SandboxedModule = require('sandboxed-module')
describe "FileConverter", ->
beforeEach ->
2015-03-13 05:31:43 -04:00
@safe_exec = sinon.stub()
2014-02-14 11:39:05 -05:00
@converter = SandboxedModule.require modulePath, requires:
2015-03-13 05:31:43 -04:00
"./SafeExec": @safe_exec
2014-02-14 11:39:05 -05:00
"logger-sharelatex":
log:->
err:->
"metrics-sharelatex":
inc:->
Timer:->
done:->
"settings-sharelatex": @Settings =
commands:
convertCommandPrefix: []
2014-02-14 11:39:05 -05:00
@sourcePath = "/this/path/here.eps"
@format = "png"
@error = "Error"
describe "convert", ->
it "should convert the source to the requested format", (done)->
2015-03-13 05:31:43 -04:00
@safe_exec.callsArgWith(2)
2014-02-14 11:39:05 -05:00
@converter.convert @sourcePath, @format, (err)=>
2015-03-13 05:31:43 -04:00
args = @safe_exec.args[0][0]
args.indexOf("#{@sourcePath}[0]").should.not.equal -1
args.indexOf("#{@sourcePath}.#{@format}").should.not.equal -1
2014-02-14 11:39:05 -05:00
done()
it "should return the dest path", (done)->
2015-03-13 05:31:43 -04:00
@safe_exec.callsArgWith(2)
2014-02-14 11:39:05 -05:00
@converter.convert @sourcePath, @format, (err, destPath)=>
destPath.should.equal "#{@sourcePath}.#{@format}"
done()
it "should return the error from convert", (done)->
2015-03-13 05:31:43 -04:00
@safe_exec.callsArgWith(2, @error)
2014-02-14 11:39:05 -05:00
@converter.convert @sourcePath, @format, (err)=>
err.should.equal @error
done()
it "should not accapt an non aproved format", (done)->
2015-03-13 05:31:43 -04:00
@safe_exec.callsArgWith(2)
2014-02-14 11:39:05 -05:00
@converter.convert @sourcePath, "ahhhhh", (err)=>
expect(err).to.exist
done()
it "should prefix the command with Settings.commands.convertCommandPrefix", (done) ->
@safe_exec.callsArgWith(2)
@Settings.commands.convertCommandPrefix = ["nice"]
@converter.convert @sourcePath, @format, (err)=>
command = @safe_exec.args[0][0]
command[0].should.equal "nice"
done()
2014-02-14 11:39:05 -05:00
describe "thumbnail", ->
2014-06-17 07:47:53 -04:00
it "should call converter resize with args", (done)->
2015-03-13 05:31:43 -04:00
@safe_exec.callsArgWith(2)
2014-02-14 11:39:05 -05:00
@converter.thumbnail @sourcePath, (err)=>
2015-03-13 05:31:43 -04:00
args = @safe_exec.args[0][0]
args.indexOf("#{@sourcePath}[0]").should.not.equal -1
2014-02-14 11:39:05 -05:00
done()
describe "preview", ->
2014-06-17 07:47:53 -04:00
it "should call converter resize with args", (done)->
2015-03-13 05:31:43 -04:00
@safe_exec.callsArgWith(2)
2014-02-14 11:39:05 -05:00
@converter.preview @sourcePath, (err)=>
2015-03-13 05:31:43 -04:00
args = @safe_exec.args[0][0]
args.indexOf("#{@sourcePath}[0]").should.not.equal -1
2014-02-14 11:39:05 -05:00
done()