X-Git-Url: http://git.squeep.com/?p=squeep-api-dingus;a=blobdiff_plain;f=test%2Flib%2Fdingus.js;h=7036384494cf7d265b7c287d038541c22063c1b8;hp=60b0dad59d68ea21bfba45c759df89b5a7ccebe9;hb=1bfd3f26e768c390a6be543281e79b7ea5c4b9c5;hpb=0f19dc825bb6e74106db319b79950ca463ad40f0 diff --git a/test/lib/dingus.js b/test/lib/dingus.js index 60b0dad..7036384 100644 --- a/test/lib/dingus.js +++ b/test/lib/dingus.js @@ -439,7 +439,13 @@ describe('Dingus', function () { await dingus.dispatch(req, res, ctx); assert(dingus.handlerBadRequest.called); }); - + it('calls handler with additional arguments', async function () { + dingus.on('GET', '/', stubHandler, 'foo', 'bar'); + await dingus.dispatch(req, res, ctx); + assert(stubHandler.called); + assert.strictEqual(stubHandler.args[0][3], 'foo'); + assert.strictEqual(stubHandler.args[0][4], 'bar'); + }); }); // dispatch describe('parseBody', function () { @@ -905,4 +911,54 @@ Content-Type: image/sgi assert(pfxDingus.handlerNotFound.called); }); }); // proxyPrefix + + describe('handlerRedirect', function () { + let req, res, ctx; + beforeEach(function () { + req = { + getHeader: sinon.stub(), + }; + res = { + setHeader: sinon.stub(), + end: sinon.stub(), + }; + ctx = {}; + }); + it('covers', async function () { + await dingus.handlerRedirect(req, res, ctx); + assert(res.setHeader.called); + assert(res.end.called); + }); + it('covers non-defaults', async function () { + await dingus.handlerRedirect(req, res, ctx, 308); + assert(res.setHeader.called); + assert(res.end.called); + }); + }); // handlerRedirect + + describe('handlerGetStaticFile', function () { + let req, res, ctx; + beforeEach(function () { + req = { + getHeader: sinon.stub(), + }; + res = { + setHeader: sinon.stub(), + }; + ctx = { + params: { + file: '', + }, + }; + sinon.stub(dingus, 'serveFile'); + }); + it('covers', async function () { + await dingus.handlerGetStaticFile(req, res, ctx); + assert(dingus.serveFile.called); + }); + it('covers specified file', async function () { + await dingus.handlerGetStaticFile(req, res, ctx, 'file.txt'); + assert(dingus.serveFile.called); + }); + }); // handlerGetStaticFile }); \ No newline at end of file