import * as request from 'supertest'
-function makeGetRequest (url: string, path: string) {
- return request(url)
- .get(path)
+function makeGetRequest (options: {
+ url: string,
+ path: string,
+ query?: any,
+ token?: string,
+ statusCodeExpected?: number
+}) {
+ if (!options.statusCodeExpected) options.statusCodeExpected = 400
+
+ const req = request(options.url)
+ .get(options.path)
.set('Accept', 'application/json')
- .expect(200)
+
+ if (options.token) req.set('Authorization', 'Bearer ' + options.token)
+ if (options.query) req.query(options.query)
+
+ return req
.expect('Content-Type', /json/)
+ .expect(options.statusCodeExpected)
+}
+
+function makeDeleteRequest (options: {
+ url: string,
+ path: string,
+ token?: string,
+ statusCodeExpected?: number
+}) {
+ if (!options.statusCodeExpected) options.statusCodeExpected = 400
+
+ const req = request(options.url)
+ .delete(options.path)
+ .set('Accept', 'application/json')
+
+ if (options.token) req.set('Authorization', 'Bearer ' + options.token)
+
+ return req
+ .expect('Content-Type', /json/)
+ .expect(options.statusCodeExpected)
}
function makePostUploadRequest (options: {
url: string,
path: string,
token?: string,
- fields: { [ fieldName: string ]: any },
+ fields?: { [ fieldName: string ]: any },
statusCodeExpected?: number
}) {
+ if (!options.fields) options.fields = {}
if (!options.statusCodeExpected) options.statusCodeExpected = 400
const req = request(options.url)
function makePutBodyRequest (options: {
url: string,
path: string,
- token: string,
+ token?: string,
fields: { [ fieldName: string ]: any },
statusCodeExpected?: number
}) {
makeGetRequest,
makePostUploadRequest,
makePostBodyRequest,
- makePutBodyRequest
+ makePutBodyRequest,
+ makeDeleteRequest
}