1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- const sinon = require('sinon');
- const proxyquire = require('proxyquire').noCallThru();
- const storage = {
- setField: sinon.stub()
- };
- function request(id) {
- return {
- params: { id },
- body: {}
- };
- }
- function response() {
- return {
- sendStatus: sinon.stub()
- };
- }
- const paramsRoute = proxyquire('../../server/routes/params', {
- '../storage': storage
- });
- describe('/api/params', function() {
- afterEach(function() {
- storage.setField.reset();
- });
- it('calls storage.setField with the correct parameter', function() {
- const req = request('x');
- const dlimit = 2;
- req.body.dlimit = dlimit;
- const res = response();
- paramsRoute(req, res);
- sinon.assert.calledWith(storage.setField, 'x', 'dlimit', dlimit);
- sinon.assert.calledWith(res.sendStatus, 200);
- });
- it('sends a 400 if dlimit is too large', function() {
- const req = request('x');
- const res = response();
- req.body.dlimit = 201;
- paramsRoute(req, res);
- sinon.assert.calledWith(res.sendStatus, 400);
- });
- it('sends a 404 on failure', function() {
- storage.setField.throws(new Error());
- const req = request('x');
- const res = response();
- req.body.dlimit = 2;
- paramsRoute(req, res);
- sinon.assert.calledWith(res.sendStatus, 404);
- });
- });
|