Skip to content

Commit 5a9c0e9

Browse files
#4480-added new method for sending payload in delete request (#4493)
1 parent e21abea commit 5a9c0e9

File tree

7 files changed

+51
-1
lines changed

7 files changed

+51
-1
lines changed

docs/api.md

+1
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ REST helper can send GET/POST/PATCH/etc requests to REST API endpoint:
148148
* [`I.sendPutRequest()`](/helpers/REST#sendPutRequest)
149149
* [`I.sendPatchRequest()`](/helpers/REST#sendPatchRequest)
150150
* [`I.sendDeleteRequest()`](/helpers/REST#sendDeleteRequest)
151+
* [`I.sendDeleteRequestWithPayload()`](/helpers/REST#sendDeleteRequestWithPayload)
151152
* ...
152153

153154
Authentication headers can be set in [helper's config](https://codecept.io/helpers/REST/#configuration) or per test with headers or special methods like `I.amBearerAuthenticated`.

docs/data.md

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ I.sendPostRequest()
5454
I.sendPutRequest()
5555
I.sendPatchRequest()
5656
I.sendDeleteRequest()
57+
I.sendDeleteRequestWithPayload()
5758
```
5859

5960
As well as a method for setting headers: `haveRequestHeaders`.

docs/helpers/REST.md

+16
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,22 @@ I.sendDeleteRequest('/api/users/1');
156156

157157
Returns **[Promise][2]<any>** response
158158

159+
### sendDeleteRequestWithPayload
160+
161+
Sends DELETE request to API with payload.
162+
163+
```js
164+
I.sendDeleteRequestWithPayload('/api/users/1', { author: 'john' });
165+
```
166+
167+
#### Parameters
168+
169+
- `url` **any**
170+
- `payload` **any** the payload to be sent. By default it is sent as an empty object
171+
- `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
172+
173+
Returns **[Promise][2]<any>** response
174+
159175
### sendGetRequest
160176

161177
Send GET request to REST API

lib/helper/REST.js

+24
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,30 @@ class REST extends Helper {
408408

409409
return this._executeRequest(request)
410410
}
411+
412+
/**
413+
* Sends DELETE request to API with payload.
414+
*
415+
* ```js
416+
* I.sendDeleteRequestWithPayload('/api/users/1', { author: 'john' });
417+
* ```
418+
*
419+
* @param {*} url
420+
* @param {*} [payload={}] - the payload to be sent. By default it is sent as an empty object
421+
* @param {object} [headers={}] - the headers object to be sent. By default, it is sent as an empty object
422+
*
423+
* @returns {Promise<*>} response
424+
*/
425+
async sendDeleteRequestWithPayload(url, payload = {}, headers = {}) {
426+
const request = {
427+
baseURL: this._url(url),
428+
method: 'DELETE',
429+
data: payload,
430+
headers,
431+
}
432+
433+
return this._executeRequest(request)
434+
}
411435
}
412436

413437
module.exports = REST

test/rest/REST_test.js

+7
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,13 @@ describe('REST', () => {
109109
getResponse.data.should.be.empty
110110
})
111111

112+
it('should send DELETE requests with payload', async () => {
113+
await I.sendDeleteRequestWithPayload('/posts/1', { author: 'john' })
114+
const getResponse = await I.sendGetRequest('/posts')
115+
116+
getResponse.data.should.be.empty
117+
})
118+
112119
it('should update request with onRequest', async () => {
113120
I.config.onRequest = (request) => (request.data = { name: 'Vasya' })
114121

translations/de-DE.js

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ module.exports = {
6868
sendGetRequest: 'mache_einen_get_request',
6969
sendPutRequest: 'mache_einen_put_request',
7070
sendDeleteRequest: 'mache_einen_delete_request',
71+
sendDeleteRequestWithPayload: 'mache_einen_delete_request_mit_payload',
7172
sendPostRequest: 'mache_einen_post_request',
7273
switchTo: 'wechlse_in_iframe',
7374
},

translations/fr-FR.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ module.exports = {
7070
scrollTo: 'défileVers',
7171
sendGetRequest: 'envoieLaRequêteGet',
7272
sendPutRequest: 'envoieLaRequêtePut',
73-
sendDeleteRequest: 'envoieLaRequêteDelete',
73+
sendDeleteRequest: 'envoieLaRequêteDeleteAvecPayload',
7474
sendPostRequest: 'envoieLaRequêtePost',
7575
},
7676
}

0 commit comments

Comments
 (0)