diff options
Diffstat (limited to 'server/tests/utils/requests.js')
-rw-r--r-- | server/tests/utils/requests.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/server/tests/utils/requests.js b/server/tests/utils/requests.js new file mode 100644 index 000000000..b1470814d --- /dev/null +++ b/server/tests/utils/requests.js | |||
@@ -0,0 +1,68 @@ | |||
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 | ||