From f44b8a6fa90a0b11f19ff5e391339e21a1e628c4 Mon Sep 17 00:00:00 2001 From: Max Neunhoeffer Date: Thu, 17 Mar 2016 21:13:50 +0100 Subject: [PATCH] Add tests for babies DELETE HTTP /_api/document/. --- js/common/tests/http/document-babies-spec.js | 105 +++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/js/common/tests/http/document-babies-spec.js b/js/common/tests/http/document-babies-spec.js index ffdab7f969..b301b5ba46 100644 --- a/js/common/tests/http/document-babies-spec.js +++ b/js/common/tests/http/document-babies-spec.js @@ -83,6 +83,26 @@ describe('babies collection document', function() { expect(collection.count()).to.equal(0); }); + it('insert remove multi by DELETE (few)', function() { + let req = request.post("/_api/document/" + cn, extend(endpoint, { + body: JSON.stringify([{}, {}, {}]) + })); + + expect(req.statusCode).to.equal(202); + expect(collection.count()).to.equal(3); + + let result = JSON.parse(req.rawBody); + let ids = result.map(function(x) { + return x._key; + }); + + req = request["delete"]("/_api/document/" + cn, + extend(endpoint, { body: JSON.stringify(ids) })); + + expect(req.statusCode).to.equal(202); + expect(collection.count()).to.equal(0); + }); + it('insert remove multi (many)', function() { let l = []; @@ -115,6 +135,34 @@ describe('babies collection document', function() { expect(collection.count()).to.equal(0); }); + it('insert remove multi (many) by DELETE', function() { + let l = []; + + for (let i = 0; i < 10000; i++) { + l.push({ + value: i + }); + } + + let req = request.post("/_api/document/" + cn, extend(endpoint, { + body: JSON.stringify(l) + })); + + expect(req.statusCode).to.equal(202); + expect(collection.count()).to.equal(l.length); + + let result = JSON.parse(req.rawBody); + let ids = result.map(function(x) { + return x._key; + }); + + req = request["delete"]("/_api/document/" + cn, + extend(endpoint, { body: JSON.stringify(ids) })); + + expect(req.statusCode).to.equal(202); + expect(collection.count()).to.equal(0); + }); + it('insert with key remove multi (few)', function() { let l = [{ _key: "a" @@ -147,6 +195,34 @@ describe('babies collection document', function() { expect(collection.count()).to.equal(0); }); + it('insert with key remove multi (few) by DELETE', function() { + let l = [{ + _key: "a" + }, { + _key: "b" + }, { + _key: "c" + }]; + + let req = request.post("/_api/document/" + cn, extend(endpoint, { + body: JSON.stringify(l) + })); + + expect(req.statusCode).to.equal(202); + expect(collection.count()).to.equal(l.length); + + let result = JSON.parse(req.rawBody); + let ids = result.map(function(x) { + return x._key; + }); + + req = request["delete"]("/_api/document/" + cn, + extend(endpoint, { body: JSON.stringify(ids) })); + + expect(req.statusCode).to.equal(202); + expect(collection.count()).to.equal(0); + }); + it('insert with key remove multi (many)', function() { let l = []; @@ -180,6 +256,35 @@ describe('babies collection document', function() { expect(collection.count()).to.equal(0); }); + it('insert with key remove multi (many) by DELETE', function() { + let l = []; + + for (let i = 0; i < 10000; i++) { + l.push({ + _key: "K" + i, + value: i + }); + } + + let req = request.post("/_api/document/" + cn, extend(endpoint, { + body: JSON.stringify(l) + })); + + expect(req.statusCode).to.equal(202); + expect(collection.count()).to.equal(l.length); + + let result = JSON.parse(req.rawBody); + let ids = result.map(function(x) { + return x._key; + }); + + req = request["delete"]("/_api/document/" + cn, + extend(endpoint, { body: JSON.stringify(ids) })); + + expect(req.statusCode).to.equal(202); + expect(collection.count()).to.equal(0); + }); + it('insert error unique constraint', function() { collection.insert([{ _key: "a"