build: Node.js@12.3
[express.git] / test / middleware.basic.js
blob4616842ed60eeb203a2a2aa029b53bdc0023327a
2 var assert = require('assert')
3 var express = require('../');
4 var request = require('supertest');
6 describe('middleware', function(){
7   describe('.next()', function(){
8     it('should behave like connect', function(done){
9       var app = express()
10         , calls = [];
12       app.use(function(req, res, next){
13         calls.push('one');
14         next();
15       });
17       app.use(function(req, res, next){
18         calls.push('two');
19         next();
20       });
22       app.use(function(req, res){
23         var buf = '';
24         res.setHeader('Content-Type', 'application/json');
25         req.setEncoding('utf8');
26         req.on('data', function(chunk){ buf += chunk });
27         req.on('end', function(){
28           res.end(buf);
29         });
30       });
32       request(app)
33       .get('/')
34       .set('Content-Type', 'application/json')
35       .send('{"foo":"bar"}')
36       .expect('Content-Type', 'application/json')
37       .expect(function () { assert.deepEqual(calls, ['one', 'two']) })
38       .expect(200, '{"foo":"bar"}', done)
39     })
40   })