Sha256: a0ec19e7f0b487965fc00a676c725b35de584a64d07f9aca9ee94ffb01fed709

Contents?: true

Size: 1.79 KB

Versions: 11

Compression:

Stored size: 1.79 KB

Contents

(function () {
  /*global describe, it*/

  'use strict';

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

  var app;

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

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

  app.post('/five-hundred', function (req, res, next) {
    next(new Error('nope'));
  });

  app.post('/four-oh-one', function (req, res, next) {
    next(new Error('401'));
  });

  app.post('/four-oh-four', function (req, res, next) {
    next();
  });

  app.use(function (err, req, res, next) {
    if (err.message === '401') {
      res.status(401).send('unauthorized');
    } else {
      next(err);
    }
  });

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

  describe('error response', function () {
    it('500', function (done) {
      supertest(app)
        .post('/five-hundred')
        .expect(500)
        .end(function (err, res) {
          should.not.exist(err);
          res.headers['access-control-allow-origin'].should.eql('*');
          res.text.should.startWith('Error: nope');
          done();
        });
    });

    it('401', function (done) {
      supertest(app)
        .post('/four-oh-one')
        .expect(401)
        .end(function (err, res) {
          should.not.exist(err);
          res.headers['access-control-allow-origin'].should.eql('*');
          res.text.should.eql('unauthorized');
          done();
        });
    });

    it('404', function (done) {
      supertest(app)
        .post('/four-oh-four')
        .expect(404)
        .end(function (err, res) {
          should.not.exist(err);
          res.headers['access-control-allow-origin'].should.eql('*');
          done();
        });
    });
  });

}());

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
webpack_rails-2.0.1 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-2.0.0 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.3.1 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.3.0 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.2.2 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.2.1 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.2.0 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.1.1 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.1.0 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.0.1 lib/webpack_rails/node_modules/cors/test/error-response.js
webpack_rails-1.0.0 lib/webpack_rails/node_modules/cors/test/error-response.js