Scribe.js/tests/console-express.test.js

55 lines
1.3 KiB
JavaScript
Raw Normal View History

import * as Scribe from '../'
2016-01-22 08:22:11 -06:00
import express from 'express'
import expect from 'expect.js'
2016-01-22 15:16:06 -06:00
import request from 'superagent'
2016-01-22 08:22:11 -06:00
import async from 'async'
describe('Basic Scribe', ()=> {
const port = 3008;
const requestsCount = 10;
const console = Scribe.create();
2016-01-22 08:22:11 -06:00
console.persistent('tags', ['mocha', 'scribe']);
it(`should print ${requestsCount} requests to terminal`, done => {
const app = express();
let count = 0, did404 = 0;
const logger = new Scribe.Middleware.ExpressLogger(console);
2016-01-22 08:22:11 -06:00
app.use(logger.getMiddleware());
2016-01-22 08:22:11 -06:00
app.get('/test', (req, res) => {
if (did404) {
return res.json({test: new Array(parseInt(Math.random() * 50)).join('.')});
}
did404++;
res.status(404);
res.json({force: 404});
});
app.listen(port, () => {
console.log(`Listening on ${port}`);
async.each(new Array(requestsCount), (i, callback)=> {
2016-01-22 15:16:06 -06:00
count++;
request
.get(`http://localhost:${port}/test`)
.end((err, req)=> {
if (err) {
return callback();
} else {
console
.log(`Received response ${count}/${requestsCount}`, req.body)
.then(()=>callback());
}
});
2016-01-22 08:22:11 -06:00
}, () => {
expect(count).to.equal(requestsCount);
done();
});
});
});
});