esrol-router
Version:
You can create new routes, set allowed ways of reaching them, handle requests, get information regarding those routes, and set middleware.
63 lines (55 loc) • 1.99 kB
JavaScript
;
let expect = require('chai').expect;
let Router = require('../index.js');
let route = require('./mocks/requests/req-properties');
let router = new Router();
let http = require('http');
let request = require('request');
let server = http.createServer((req, res) => {
router.onRequest(req, res);
}).listen(3334);
describe('Response properties', () => {
describe('On http get request to "/response"', () => {
it('Should return status "401"', (done) => {
request('http://localhost:3334/response', (error, result) => {
expect(result.statusCode).to.equal(401);
done();
});
});
});
describe('On http get request to "/response/json" - testing json', () => {
it('Should return json object: "{"record": "json"}"', (done) => {
request('http://localhost:3334/response/json', (error, result) => {
let json = JSON.parse(result.body);
expect(json.record).to.equal('json');
done();
});
});
});
describe('On http post request to "/response" - testing redirect', () => {
it('Should set status code "302"', (done) => {
request.post('http://localhost:3334/response', (error, result) => {
expect(result.statusCode).to.equal(302);
done();
});
});
});
describe('On http post request to "/response/json" - json branch', () => {
it('Should return json object: "{"record": "json"}"', (done) => {
request.post('http://localhost:3334/response/json', (error, result) => {
let json = JSON.parse(result.body);
expect(json.record).to.equal('json');
done();
});
});
});
describe('On http get request to "/response/json/" - router branch', () => {
it('Should return json object: "{"record": "json"}"', (done) => {
request('http://localhost:3334/response/json/', (error, result) => {
let json = JSON.parse(result.body);
expect(json.record).to.equal('json');
done();
});
});
});
});