Repository: BRIKEV/express-jsdoc-swagger (js)

Issue:
[BUG] DELETE missing param details
**Describe the bug**
It seems like DELETE does not convey the param set in the documentation.

**To Reproduce**

The object and endpoint documentation:

```
/**
 * Logout format to send
 * @typedef {object} Logout
 * @property {string} token.required - Access token for user
 */

/**
 * DELETE /logout
 * @summary Log user out of the system
 * @param {Logout} request.body.required - User access and refresh token
 * /
```

**Expected behavior**
The above should show the params field with the request.body detail, but it only shows an empty area.

Changing DELETE to POST brings up the correct expected view.

This currently only happens with DELETE. All other GET and POST behave as expected with the same settings above.

**Desktop:**
 - OS: OSX
 - Version 10.14.6

**Additional context**

Using the following on a TypeScript code base:
- "express-jsdoc-swagger": "^1.6.3",
- "swagger-ui-express": "^4.1.6"


Pull request:
fix: add support to delete requests with body
### What kind of change does this PR introduce?
 - Bugfix
 - ~Feature~
 - Test
 - ~Docs~
 - ~Refactor~
 - ~Build-related changes~

### Description:

As mentioned in [this link](https://stackoverflow.com/a/10015724/12911174) or in the [official docs for the DELETE method in HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/DELETE), this request type should be able to receive a body. 

This PR modifies the `validRequestBodyMethods` configuration object so that `DELETE` methods are now considered eligible to have a request body, so the value `@param {x} request.body` in the endpoint comments will no longer be ignored when generating the Swagger docs.

Should fix #176.

Patch:
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,


Test patch:
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<string>} 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 = [`
       /**