From 3c5fda91a94d8e88e23e62a697263b157a823713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sara=20Hern=C3=A1ndez=20Su=C3=A1rez?= Date: Sat, 7 Aug 2021 15:41:52 +0100 Subject: [PATCH 1/2] fix: support delete requests with body --- transforms/utils/httpMethods.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/transforms/utils/httpMethods.js b/transforms/utils/httpMethods.js index b52b41d..c64c487 100644 --- a/transforms/utils/httpMethods.js +++ b/transforms/utils/httpMethods.js @@ -1,6 +1,6 @@ const validRequestBodyMethods = { get: false, - delete: false, + delete: true, head: false, post: true, put: true, From 75cdabc38fe7619b51a18757f1f15b585a5b7b6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sara=20Hern=C3=A1ndez=20Su=C3=A1rez?= Date: Sat, 7 Aug 2021 15:55:05 +0100 Subject: [PATCH 2/2] test: check that request body is added to delete request --- test/transforms/paths/requestBody.test.js | 41 +++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/test/transforms/paths/requestBody.test.js b/test/transforms/paths/requestBody.test.js index 92e082f..ff36c02 100644 --- a/test/transforms/paths/requestBody.test.js +++ b/test/transforms/paths/requestBody.test.js @@ -145,6 +145,47 @@ describe('request body tests', () => { expect(result).toEqual(expected); }); + it('should parse jsdoc request body for delete request', () => { + const jsdocInput = [` + /** + * DELETE /message + * @summary Delete messages listed under the specified tags + * @param {array} request.body.required - Tags of the messages to delete + */ + `]; + const expected = { + paths: { + '/message': { + delete: { + deprecated: false, + summary: 'Delete messages listed under the specified tags', + responses: {}, + tags: [], + security: [], + parameters: [], + requestBody: { + description: 'Tags of the messages to delete', + required: true, + content: { + 'application/json': { + schema: { + type: 'array', + items: { + type: 'string', + }, + }, + }, + }, + }, + }, + }, + }, + }; + const parsedJSDocs = jsdocInfo()(jsdocInput); + const result = setPaths({}, parsedJSDocs); + expect(result).toEqual(expected); + }); + it('should parse jsdoc path multiple bodys', () => { const jsodInput = [` /**