-
Notifications
You must be signed in to change notification settings - Fork 52
/
response.js
57 lines (46 loc) · 1.55 KB
/
response.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
const config = require('../config');
const helper = require('../helpers/helper');
const { PactumResponseError } = require('../helpers/errors');
const response = {
setDefaultExpectHeaders(key, value) {
if (!key) {
throw new PactumResponseError(`Invalid expected response header key provided - ${key}`);
}
if (typeof key === 'string') {
config.response.headers[key] = value;
} else {
if (!helper.isValidObject(key)) {
throw new PactumResponseError(`Invalid expected response headers provided - ${key}`);
}
Object.assign(config.response.headers, key);
}
},
setDefaultExpectResponseTime(respTime) {
if (typeof respTime !== 'number') {
throw new PactumResponseError(`Invalid expected response time provided - ${respTime}`);
}
config.response.time = respTime;
},
setDefaultExpectStatus(status) {
if (typeof status !== 'number' || 100 > status || status > 599) {
throw new PactumResponseError(`Invalid expected response status provided - ${status}`);
}
config.response.status = status;
},
setDefaultExpectHandlers(handler, data) {
config.response.expectHandlers.push({ handler, data });
},
removeDefaultExpectHeader(key) {
if (!key) {
throw new PactumResponseError(`Invalid expected response header key provided - ${key}`);
}
delete config.response.headers[key];
},
removeDefaultExpectHeaders() {
config.response.headers = {};
},
removeDefaultExpectHandlers() {
config.response.expectHandlers = [];
}
};
module.exports = response;