@tryghost/express-test 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/agent.js +1 -1
- package/lib/expect-request.js +18 -3
- package/package.json +2 -2
package/lib/agent.js
CHANGED
|
@@ -37,7 +37,7 @@ class Agent {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
['get', 'post', 'put', '
|
|
40
|
+
['get', 'post', 'put', 'patch', 'delete', 'options', 'head'].forEach((method) => {
|
|
41
41
|
Agent.prototype[method] = function (url, options) {
|
|
42
42
|
if (!url) {
|
|
43
43
|
throw new Error('Cannot make a request without supplying a url'); /* eslint-disable-line no-restricted-syntax */
|
package/lib/expect-request.js
CHANGED
|
@@ -7,6 +7,12 @@ class ExpectRequest extends Request {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
expect(callback) {
|
|
10
|
+
if (typeof callback !== 'function') {
|
|
11
|
+
throw new Error(/* eslint-disable-line no-restricted-syntax */
|
|
12
|
+
'express-test expect() requires a callback function, did you mean expectStatus or expectHeader?'
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
const wrapperFn = (response, assertion) => {
|
|
11
17
|
try {
|
|
12
18
|
callback(response);
|
|
@@ -47,6 +53,7 @@ class ExpectRequest extends Request {
|
|
|
47
53
|
|
|
48
54
|
return this;
|
|
49
55
|
}
|
|
56
|
+
|
|
50
57
|
finalize(callback) {
|
|
51
58
|
super.finalize((error, response) => {
|
|
52
59
|
if (error) {
|
|
@@ -96,17 +103,25 @@ class ExpectRequest extends Request {
|
|
|
96
103
|
_assertHeader(response, assertion) {
|
|
97
104
|
const {expectedField, expectedValue, error} = assertion;
|
|
98
105
|
const actual = response.headers[expectedField];
|
|
106
|
+
|
|
99
107
|
const expectedHeaderString = `${expectedField}: ${expectedValue}`;
|
|
100
108
|
const actualHeaderString = `${expectedField}: ${actual}`;
|
|
101
109
|
|
|
102
110
|
error.expected = expectedHeaderString;
|
|
103
111
|
error.actual = actualHeaderString;
|
|
104
112
|
|
|
105
|
-
error.message = `Expected header "${expectedHeaderString}" to exist
|
|
113
|
+
error.message = `Expected header "${expectedHeaderString}" to exist, got headers: ${JSON.stringify(response.headers)} ${error.contextString}`;
|
|
106
114
|
assert.notStrictEqual(actual, undefined, error);
|
|
107
115
|
|
|
108
|
-
|
|
109
|
-
|
|
116
|
+
if (expectedValue instanceof RegExp) {
|
|
117
|
+
error.expected = expectedValue;
|
|
118
|
+
error.actual = actual;
|
|
119
|
+
error.message = `Expected header "${expectedField}" to have value matching "${expectedValue}", got "${actual}" ${error.contextString}`;
|
|
120
|
+
assert.equal(expectedValue.test(actual), true, error);
|
|
121
|
+
} else {
|
|
122
|
+
error.message = `Expected header "${expectedHeaderString}", got "${actualHeaderString}" ${error.contextString}`;
|
|
123
|
+
assert.equal(expectedHeaderString, actualHeaderString, error);
|
|
124
|
+
}
|
|
110
125
|
}
|
|
111
126
|
}
|
|
112
127
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tryghost/express-test",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"repository": "https://github.com/TryGhost/framework/tree/main/packages/express-test",
|
|
5
5
|
"author": "Ghost Foundation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"cookiejar": "^2.1.3",
|
|
30
30
|
"reqresnext": "^1.6.6"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "ba2449737cd3a66d811e34b5b28b86f5d3538396"
|
|
33
33
|
}
|