69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
|
'use strict'
|
||
|
|
||
|
const request = require('supertest')
|
||
|
|
||
|
const requestsUtils = {
|
||
|
makePostUploadRequest: makePostUploadRequest,
|
||
|
makePostBodyRequest: makePostBodyRequest,
|
||
|
makePutBodyRequest: makePutBodyRequest
|
||
|
}
|
||
|
|
||
|
// ---------------------- Export functions --------------------
|
||
|
|
||
|
function makePostUploadRequest (url, path, token, fields, attaches, done, statusCodeExpected) {
|
||
|
if (!statusCodeExpected) statusCodeExpected = 400
|
||
|
|
||
|
const req = request(url)
|
||
|
.post(path)
|
||
|
.set('Accept', 'application/json')
|
||
|
|
||
|
if (token) req.set('Authorization', 'Bearer ' + token)
|
||
|
|
||
|
Object.keys(fields).forEach(function (field) {
|
||
|
const value = fields[field]
|
||
|
|
||
|
if (Array.isArray(value)) {
|
||
|
for (let i = 0; i < value.length; i++) {
|
||
|
req.field(field + '[' + i + ']', value[i])
|
||
|
}
|
||
|
} else {
|
||
|
req.field(field, value)
|
||
|
}
|
||
|
})
|
||
|
|
||
|
Object.keys(attaches).forEach(function (attach) {
|
||
|
const value = attaches[attach]
|
||
|
req.attach(attach, value)
|
||
|
})
|
||
|
|
||
|
req.expect(statusCodeExpected, done)
|
||
|
}
|
||
|
|
||
|
function makePostBodyRequest (url, path, token, fields, done, statusCodeExpected) {
|
||
|
if (!statusCodeExpected) statusCodeExpected = 400
|
||
|
|
||
|
const req = request(url)
|
||
|
.post(path)
|
||
|
.set('Accept', 'application/json')
|
||
|
|
||
|
if (token) req.set('Authorization', 'Bearer ' + token)
|
||
|
|
||
|
req.send(fields).expect(statusCodeExpected, done)
|
||
|
}
|
||
|
|
||
|
function makePutBodyRequest (url, path, token, fields, done, statusCodeExpected) {
|
||
|
if (!statusCodeExpected) statusCodeExpected = 400
|
||
|
|
||
|
const req = request(url)
|
||
|
.put(path)
|
||
|
.set('Accept', 'application/json')
|
||
|
|
||
|
if (token) req.set('Authorization', 'Bearer ' + token)
|
||
|
|
||
|
req.send(fields).expect(statusCodeExpected, done)
|
||
|
}
|
||
|
|
||
|
// ---------------------------------------------------------------------------
|
||
|
|
||
|
module.exports = requestsUtils
|