Kouhei Sutou
null+****@clear*****
Wed Apr 30 18:37:50 JST 2014
Kouhei Sutou 2014-04-30 18:37:50 +0900 (Wed, 30 Apr 2014) New Revision: 1977aa47a533afdeccfd49363dfea86d8f559f30 https://github.com/droonga/express-droonga/commit/1977aa47a533afdeccfd49363dfea86d8f559f30 Message: test: extract common code to keep only important thing in test function Modified files: test/adapter/api/groonga/load.test.js Modified: test/adapter/api/groonga/load.test.js (+52 -51) =================================================================== --- test/adapter/api/groonga/load.test.js 2014-04-30 18:29:33 +0900 (c8f4a03) +++ test/adapter/api/groonga/load.test.js 2014-04-30 18:37:50 +0900 (16517a4) @@ -146,21 +146,40 @@ suite('adapter/api/groonga: load', function() { }); suite('POST', function() { + function post(body, additionalQuery) { + var requestBody; + backend.reserveResponse(function(requestPacket) { + requestBody = requestPacket[2].body; + return utils.createReplyPacket(requestPacket, successMessage); + }); + var path = { + pathname: '/d/load', + query: { + table: 'Memos' + } + }; + if (additionalQuery) { + Object.keys(additionalQuery).forEach(function(key) { + path.query[key] = additionalQuery[key]; + }); + } + + return utils.post(path, JSON.stringify(body)) + .next(function(request) { + return requestBody; + }); + } + suite('object style', function() { test('no _key', function(done) { - var requestBody; - backend.reserveResponse(function(requestPacket) { - requestBody = requestPacket[2].body; - return utils.createReplyPacket(requestPacket, successMessage); - }); var body = [ { title: 'Droonga', content: 'Droonga is fun!' } ] - utils.post('/d/load?table=Memos', JSON.stringify(body)) - .next(function(response) { + post(body) + .next(function(requestBody) { assert.deepEqual(requestBody, { table: 'Memos', @@ -177,27 +196,22 @@ suite('adapter/api/groonga: load', function() { }); test('with columns', function(done) { - var requestBody; - backend.reserveResponse(function(requestPacket) { - requestBody = requestPacket[2].body; - return utils.createReplyPacket(requestPacket, successMessage); - }); var body = [ { _key: 'alice', - name: 'Alice', - age: 20 + title: 'Alice', + content: 'Alice is ...' } ] - utils.post('/d/load?table=Users', JSON.stringify(body)) - .next(function(response) { + post(body) + .next(function(requestBody) { assert.deepEqual(requestBody, { - table: 'Users', + table: 'Memos', key: 'alice', values: { - name: 'Alice', - age: 20 + title: 'Alice', + content: 'Alice is ...' } }); done(); @@ -210,11 +224,6 @@ suite('adapter/api/groonga: load', function() { suite('array style', function() { test('no _key', function(done) { - var requestBody; - backend.reserveResponse(function(requestPacket) { - requestBody = requestPacket[2].body; - return utils.createReplyPacket(requestPacket, successMessage); - }); var body = [ [ 'title', @@ -225,8 +234,8 @@ suite('adapter/api/groonga: load', function() { 'Droonga is fun!' ] ] - utils.post('/d/load?table=Memos', JSON.stringify(body)) - .next(function(response) { + post(body) + .next(function(requestBody) { assert.deepEqual(requestBody, { table: 'Memos', @@ -243,32 +252,27 @@ suite('adapter/api/groonga: load', function() { }); test('with columns', function(done) { - var requestBody; - backend.reserveResponse(function(requestPacket) { - requestBody = requestPacket[2].body; - return utils.createReplyPacket(requestPacket, successMessage); - }); var body = [ [ '_key', - 'name', - 'age' + 'title', + 'content' ], [ 'alice', 'Alice', - 20 + 'Alice is ...' ] ] - utils.post('/d/load?table=Users', JSON.stringify(body)) - .next(function(response) { + post(body) + .next(function(requestBody) { assert.deepEqual(requestBody, { - table: 'Users', + table: 'Memos', key: 'alice', values: { - name: 'Alice', - age: 20 + title: 'Alice', + content: 'Alice is ...' } }); done(); @@ -279,28 +283,25 @@ suite('adapter/api/groonga: load', function() { }); test('with columns query parameter', function(done) { - var requestBody; - backend.reserveResponse(function(requestPacket) { - requestBody = requestPacket[2].body; - return utils.createReplyPacket(requestPacket, successMessage); - }); - var path = '/d/load?table=Users&columns=_key,name,age'; + var query = { + columns: '_key,title,content' + } var body = [ [ 'alice', 'Alice', - 20 + 'Alice is ...' ] ] - utils.post(path, JSON.stringify(body)) - .next(function(response) { + post(body, query) + .next(function(requestBody) { assert.deepEqual(requestBody, { - table: 'Users', + table: 'Memos', key: 'alice', values: { - name: 'Alice', - age: 20 + title: 'Alice', + content: 'Alice is ...' } }); done(); -------------- next part -------------- HTML����������������������������...Download