From ed45de43b42ffd359cfd2b98f03506ecffd2288e Mon Sep 17 00:00:00 2001 From: Alex Liu Date: Thu, 31 May 2018 16:14:12 -0700 Subject: [PATCH] fix: pr comments --- test/querystring.test.js | 240 +++++++++++++++++++++------------------ 1 file changed, 130 insertions(+), 110 deletions(-) diff --git a/test/querystring.test.js b/test/querystring.test.js index feabeb3..4a4e3ab 100644 --- a/test/querystring.test.js +++ b/test/querystring.test.js @@ -12,14 +12,10 @@ var clients = require('../lib'); describe('query string parameters', function () { var SERVER; + var CLIENT; var LOG = bunyan.createLogger({ name: 'clientlog' }); - var CLIENT = clients.createJsonClient({ - url: 'http://localhost:3000', - log: LOG, - retry: false - }); beforeEach(function (done) { SERVER = restify.createServer({ @@ -36,140 +32,164 @@ describe('query string parameters', function () { }); - it('should support default query option in constructor', function (done) { - SERVER.get('/foo', function (req, res, next) { - assert.deepEqual(req.query, { - foo: 'i am default' - }); - res.send(200); - return next(); - }); + describe('constructor time qs', function () { - CLIENT = clients.createJsonClient({ - url: 'http://localhost:3000', - query: { - foo: 'i am default' - }, - retry: false - }); + it('should support query option', function (done) { + SERVER.get('/foo', function (req, res, next) { + assert.deepEqual(req.query, { + foo: 'bar' + }); + res.send(200); + return next(); + }); - CLIENT.get('/foo', function (err, req, res, data) { - assert.ifError(err); - assert.strictEqual(req.path, '/foo?foo=i%20am%20default'); - return done(); + CLIENT = clients.createJsonClient({ + url: 'http://localhost:3000', + query: { + foo: 'bar' + } + }); + CLIENT.get('/foo', done); }); - }); - - it('should support query option per request', function (done) { - SERVER.get('/foo', function (req, res, next) { - assert.deepEqual(req.query, { - foo: 'bar' + it('should not support existing query in url', function (done) { + SERVER.get('/foo', function (req, res, next) { + assert.deepEqual(req.query, {}); + res.send(200); + return next(); }); - res.send(200); - return next(); - }); - CLIENT.get({ - path: '/foo', - query: { - foo: 'bar' - } - }, function (err, req, res, data) { - assert.ifError(err); - assert.strictEqual(req.path, '/foo?foo=bar'); - return done(); + CLIENT = clients.createJsonClient({ + url: 'http://localhost:3000/foo?foo=bar' + }); + CLIENT.get('/foo', done); }); - }); + it('should prefer query option over query in url', function (done) { + SERVER.get('/foo', function (req, res, next) { + assert.deepEqual(req.query, { + foo: 'baz' + }); + res.send(200); + return next(); + }); - it('should override default query option per request', function (done) { - SERVER.get('/foo', function (req, res, next) { - assert.deepEqual(req.query, { - baz: 'qux' + CLIENT = clients.createJsonClient({ + url: 'http://localhost:3000/foo?foo=bar', + query: { + foo: 'baz' + } }); - res.send(200); - return next(); + CLIENT.get('/foo', done); }); + }); - CLIENT = clients.createJsonClient({ - url: 'http://localhost:3000', - query: { - foo: 'bar' - }, - retry: false - }); - CLIENT.get({ - path: '/foo', - query: { - baz: 'qux' - } - }, function (err, req, res, data) { - assert.ifError(err); - assert.strictEqual(req.path, '/foo?baz=qux'); - return done(); - }); - }); + describe('verb time qs', function () { + it('should support query option', function (done) { + SERVER.get('/foo', function (req, res, next) { + assert.deepEqual(req.query, { + foo: 'bar' + }); + res.send(200); + return next(); + }); - it('should ignore query option if querystring exists in url', - function (done) { - SERVER.get('/foo', function (req, res, next) { - assert.deepEqual(req.query, { - a: '1' + CLIENT = clients.createJsonClient({ + url: 'http://localhost:3000' }); - res.send(200); - return next(); + CLIENT.get({ + path: '/foo', + query: { + foo: 'bar' + } + }, done); }); - CLIENT.get({ - path: '/foo?a=1', - query: { - b: 2 - } - }, function (err, req, res, data) { - assert.ifError(err); - assert.strictEqual(req.path, '/foo?a=1'); - return done(); + it('should support query string in path', function (done) { + SERVER.get('/foo', function (req, res, next) { + assert.deepEqual(req.query, { + foo: 'bar' + }); + res.send(200); + return next(); + }); + + CLIENT = clients.createJsonClient({ + url: 'http://localhost:3000' + }); + CLIENT.get({ + path: '/foo?foo=bar' + }, done); }); - }); + it('should prefer query string in path over query option', + function (done) { + SERVER.get('/foo', function (req, res, next) { + assert.deepEqual(req.query, { + foo: 'bar' + }); + res.send(200); + return next(); + }); - it('should prefer default query string in url over query options', - function (done) { - SERVER.get('/foo', function (req, res, next) { - assert.deepEqual(req.query, { - foo: 'baz' + CLIENT = clients.createJsonClient({ + url: 'http://localhost:3000' }); - res.send(200); - return next(); + CLIENT.get({ + path: '/foo?foo=bar', + query: { + foo: 'baz' + } + }, done); }); + }); - CLIENT = clients.createJsonClient({ - url: 'http://localhost:3000/foo?foo=bar', - query: { - foo: 'baz' - } - }); - CLIENT.get('/foo', done); - }); + describe('constructor + verb time overrides', function () { + it('should prefer verb time query string in path over constructor ' + + 'query', function (done) { + SERVER.get('/foo', function (req, res, next) { + assert.deepEqual(req.query, { + foo: 'qux' + }); + res.send(200); + return next(); + }); - it('should throw away default query string in url', function (done) { - SERVER.get('/foo', function (req, res, next) { - assert.deepEqual(req.query, {}); - res.send(200); - return next(); + CLIENT = clients.createJsonClient({ + url: 'http://localhost:3000/foo?foo=bar', + query: { + foo: 'baz' + } + }); + CLIENT.get('/foo?foo=qux', done); }); - CLIENT = clients.createJsonClient({ - url: 'http://localhost:3000/foo?foo=bar' - }); + it('should prefer verb time query option over constructor query', + function (done) { + SERVER.get('/foo', function (req, res, next) { + assert.deepEqual(req.query, { + foo: 'boop' + }); + res.send(200); + return next(); + }); - CLIENT.get({ - path: '/foo' - }, done); + CLIENT = clients.createJsonClient({ + url: 'http://localhost:3000/foo?foo=bar', + query: { + foo: 'baz' + } + }); + CLIENT.get({ + path: '/foo', + query: { + foo: 'boop' + } + }, done); + }); }); });