File: issue-31.js

package info (click to toggle)
node-cors 2.7.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 164 kB
  • ctags: 33
  • sloc: makefile: 2; sh: 2
file content (58 lines) | stat: -rw-r--r-- 1,424 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
(function () {
  /*global describe, it*/

  'use strict';

  var should = require('should'),
    express = require('express'),
    supertest = require('supertest'),
    cors = require('../lib');

  var app,
    mainRouter,
    itemsRouter;

  /* -------------------------------------------------------------------------- */

  itemsRouter = new express.Router();
  itemsRouter.get('/', function (req, res) {
    res.send('hello world');
  });

  mainRouter = new express.Router();
  mainRouter.use('/items', itemsRouter);

  app = express();
  app.use(cors());
  app.use(mainRouter);

  /* -------------------------------------------------------------------------- */

  describe('issue  #31', function () {
    it('OPTIONS works', function (done) {
      supertest(app)
        .options('/items')
        .expect(204)
        .set('Origin', 'http://example.com')
        .end(function (err, res) {
          should.not.exist(err);
          res.headers['access-control-allow-origin'].should.eql('*');
          done();
        });
    });

    it('GET works', function (done) {
      supertest(app)
        .get('/items')
        .expect(200)
        .set('Origin', 'http://example.com')
        .end(function (err, res) {
          should.not.exist(err);
          res.headers['access-control-allow-origin'].should.eql('*');
          res.text.should.eql('hello world');
          done();
        });
    });
  });

}());