UNPKG

bot18

Version:

A high-frequency cryptocurrency trading bot by Zenbot creator @carlos8f

109 lines (100 loc) 2.95 kB
describe('routing', function () { var baseUrl, server, rootArgs = { method: 'get', path: '/', fn: function (req, res, next) { writeRes(res, 'welcome'); } }; before(function (done) { listen(function (s, port) { server = s; baseUrl = 'http://localhost:' + port; middler(server) .add(rootArgs) .post('/posts', function (req, res, next) { var data = ''; req.on('data', function (chunk) { data += chunk; }); req.once('end', function () { assert.deepEqual(JSON.parse(data), {post: 'my post'}); writeRes(res, 'post created'); }); }) .get('/posts', function (req, res, next) { writeRes(res, 'list of posts'); }) .get('/posts/:post', function (req, res, next) { writeRes(res, 'post: ' + req.params.post); }) .add('/services/*/*', function (req, res, next) { res.writeHead(200, {'Content-Type': 'application/json'}); res.end(JSON.stringify(req.params)); }) .add(function (req, res) { writeRes(res, 'not found', 404); }); done(); }); }); it('get /', function (done) { request.get(baseUrl + '/', function (err, res) { assertRes(res, 'welcome'); done(); }); }); it('post /posts', function (done) { request.post(baseUrl + '/posts') .send({post: 'my post'}) .end(function (err, res) { assertRes(res, 'post created'); done(); }); }); it('get /posts', function (done) { request.get(baseUrl + '/posts', function (err, res) { assertRes(res, 'list of posts'); done(); }); }); it('get /posts/:post', function (done) { request.get(baseUrl + '/posts/512', function (err, res) { assertRes(res, 'post: 512'); done(); }); }); it('can remove a middleware', function (done) { middler(server).remove(rootArgs.fn); request.get(baseUrl + '/', function (err, res) { assertRes(res, 'not found', 404); done(); }); }); it('can use unnamed params', function (done) { request.put(baseUrl + '/services/foo/bar', function (err, res) { assert.deepEqual(res.body, ['foo', 'bar']); done(); }); }); it('can remove a middleware by path', function (done) { middler(server).remove('/services/*/*'); request.get(baseUrl + '/services/foo/bar', function (err, res) { assertRes(res, 'not found', 404); done(); }); }); it('can add a middleware to run first', function (done) { middler(server).first('/posts', function (req, res, next) { writeRes(res, 'whoa!', 500); }); request.get(baseUrl + '/posts', function (err, res) { assertRes(res, 'whoa!', 500); done(); }); }); it('closes the server', function (done) { server.once('close', done); server.close(); }); });