grill
Version:
64 lines (48 loc) • 1.76 kB
text/coffeescript
helper = require '../../spec_helper'
Server = require '../../../lib/grill/server'
Assetter = require '../../../lib/grill/assetter'
grunt = require 'grunt'
Sinon = require 'sinon'
HTTP = require 'http'
describe 'Grill.Server', ->
before ->
= grunt.log.muted
grunt.log.muted = true
= (path, callback) ->
request = HTTP.request {host: 'localhost', port: '6666', path: path}, (result) ->
result.on 'data', (data) -> callback(data.toString())
request.end()
after ->
grunt.log.muted =
beforeEach ->
= new Server grunt
afterEach ->
.close()
it "starts", ->
= .start 6666
it "serves middlewares", (done) ->
= .start 6666, (express) ->
express.get '/', (req, res) -> res.send 'test'
'/', (response) ->
response.should == 'test'
done()
it "proxies", (done) ->
30000
= .start 6666, (express) =>
.serveProxied express, {'/': 'http://www.example.com'}
'/', (response) ->
response.should.include '<h1>Example Domain</h1>'
done()
it "serves assets", (done) ->
assetter = new Assetter grunt, ['server'], ['server'], 'config', 'environment'
= .start 6666, (express) =>
.serveAssets express, assetter
'/application.js', (response) ->
response.should.equal '(function() {\n (function() {});\n\n}).call(this);'
done()
it "serves public", (done) ->
= .start 6666, (express) =>
.serveStatic express, 'server'
'/application.coffee', (response) ->
response.should.equal '->'
done()