overleaf/services/web/test/UnitTests/coffee/helpers/MockResponse.coffee

52 lines
963 B
CoffeeScript
Raw Normal View History

2014-02-12 10:23:40 +00:00
sinon = require "sinon"
class MockResponse
constructor: ->
@rendered = false
@redirected = false
@returned = false
@headers = {}
render: (template, variables) ->
@success = true
@rendered = true
@returned = true
@renderedTemplate = template
@renderedVariables = variables
@callback() if @callback?
redirect: (url) ->
@success = true
@redirected = true
@returned = true
@redirectedTo = url
@callback() if @callback?
send: (status, body) ->
if arguments.length < 2
if typeof status != "number"
body = status
status = 200
@statusCode = status
@returned = true
if 200 <= status < 300
@success = true
else
@success = false
@body = body if body
@callback() if @callback?
setHeader: (header, value) ->
@headers[header] = value
header: sinon.stub()
contentType: sinon.stub()
end: (data, encoding) ->
@callback() if @callback
type: (type) -> @type = type
module.exports = MockResponse