]>
Commit | Line | Data |
---|---|---|
1 | 'use strict' | |
2 | ||
3 | const request = require('supertest') | |
4 | ||
5 | const requestsUtils = { | |
6 | makePostUploadRequest, | |
7 | makePostBodyRequest, | |
8 | makePutBodyRequest | |
9 | } | |
10 | ||
11 | // ---------------------- Export functions -------------------- | |
12 | ||
13 | function makePostUploadRequest (url, path, token, fields, attaches, done, statusCodeExpected) { | |
14 | if (!statusCodeExpected) statusCodeExpected = 400 | |
15 | ||
16 | const req = request(url) | |
17 | .post(path) | |
18 | .set('Accept', 'application/json') | |
19 | ||
20 | if (token) req.set('Authorization', 'Bearer ' + token) | |
21 | ||
22 | Object.keys(fields).forEach(function (field) { | |
23 | const value = fields[field] | |
24 | ||
25 | if (Array.isArray(value)) { | |
26 | for (let i = 0; i < value.length; i++) { | |
27 | req.field(field + '[' + i + ']', value[i]) | |
28 | } | |
29 | } else { | |
30 | req.field(field, value) | |
31 | } | |
32 | }) | |
33 | ||
34 | Object.keys(attaches).forEach(function (attach) { | |
35 | const value = attaches[attach] | |
36 | req.attach(attach, value) | |
37 | }) | |
38 | ||
39 | req.expect(statusCodeExpected, done) | |
40 | } | |
41 | ||
42 | function makePostBodyRequest (url, path, token, fields, done, statusCodeExpected) { | |
43 | if (!statusCodeExpected) statusCodeExpected = 400 | |
44 | ||
45 | const req = request(url) | |
46 | .post(path) | |
47 | .set('Accept', 'application/json') | |
48 | ||
49 | if (token) req.set('Authorization', 'Bearer ' + token) | |
50 | ||
51 | req.send(fields).expect(statusCodeExpected, done) | |
52 | } | |
53 | ||
54 | function makePutBodyRequest (url, path, token, fields, done, statusCodeExpected) { | |
55 | if (!statusCodeExpected) statusCodeExpected = 400 | |
56 | ||
57 | const req = request(url) | |
58 | .put(path) | |
59 | .set('Accept', 'application/json') | |
60 | ||
61 | if (token) req.set('Authorization', 'Bearer ' + token) | |
62 | ||
63 | req.send(fields).expect(statusCodeExpected, done) | |
64 | } | |
65 | ||
66 | // --------------------------------------------------------------------------- | |
67 | ||
68 | module.exports = requestsUtils |