wrapito 9.3.0 → 9.5.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/README.md +10 -7
- package/assertions/fetch.d.ts.map +1 -1
- package/assertions/fetch.js +15 -11
- package/assertions/fetch.js.map +1 -1
- package/assertions/messages.d.ts +1 -1
- package/assertions/messages.d.ts.map +1 -1
- package/assertions/messages.js +18 -13
- package/assertions/messages.js.map +1 -1
- package/config.js +1 -1
- package/config.js.map +1 -1
- package/mockNetwork.js +4 -4
- package/mockNetwork.js.map +1 -1
- package/models.d.ts +4 -4
- package/models.d.ts.map +1 -1
- package/package.json +3 -2
- package/requestMatcher.js +4 -4
- package/requestMatcher.js.map +1 -1
- package/wrap.js +26 -22
- package/wrap.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
# 🌯 wrapito
|
|
2
|
-
Wrap
|
|
2
|
+
Wrap your tests so that you can test both behaviour and components with less effort.
|
|
3
3
|
|
|
4
4
|
## 🎯 Motivation
|
|
5
|
-
As we are more focused on user interactions than implementation details
|
|
5
|
+
As we are more focused on user interactions than implementation details, it's better to test all the possible user interactions at a certain point in our app by rendering the higher-level components.
|
|
6
6
|
|
|
7
7
|
## 💡 The idea
|
|
8
8
|
As we test our app we will be in two different scenarios where:
|
|
9
9
|
- We will need to test that the user interactions cause the proper side effects such as making http calls or refreshing the UI.
|
|
10
10
|
- In case we have a components library, we will need to test these by passing the needed props and checking that it returns (renders) the expected result.
|
|
11
11
|
|
|
12
|
-
In general, if you want to test behaviour, you need to simulate external actions from
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
In general, if you want to test behaviour, you need to simulate external actions from users or from http responses.
|
|
13
|
+
|
|
14
|
+
Most of the existing testing libraries give you control of the user actions and that's why we only require you to set the `render` function of your testing library in the config.
|
|
15
|
+
|
|
16
|
+
Unfortunately, there aren't so many options when it comes to managing http requests and responses in tests.
|
|
17
|
+
|
|
18
|
+
To provide the mounted component with context, we use the builder pattern in our tests. This approach clarifies the current path where the app should be mounted, the props received by the component, the expected results of HTTP requests, and the mounting location for the portal. This makes our tests much more semantic and understandable.
|
|
16
19
|
|
|
17
20
|
## 🔧 Installing
|
|
18
21
|
Using npm:
|
|
19
22
|
|
|
20
23
|
```sh
|
|
21
|
-
$ npm install wrapito
|
|
24
|
+
$ npm install -D wrapito
|
|
22
25
|
```
|
|
23
26
|
|
|
24
27
|
## 👩💻 Basic usage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"AAiEA;;;;;;EA0BC;AAED;;;EAKC;AAED;;;;;;EAKC"}
|
package/assertions/fetch.js
CHANGED
|
@@ -10,8 +10,8 @@ var messages_1 = require("./messages");
|
|
|
10
10
|
var findRequestsByPath = function (expectedPath, options) {
|
|
11
11
|
return fetch.mock.calls.filter(function (_a) {
|
|
12
12
|
var call = _a[0];
|
|
13
|
-
var defaultHost = config_1.getConfig().defaultHost || 'https://default.com';
|
|
14
13
|
var url = getUrl(call);
|
|
14
|
+
var defaultHost = getDefaultHost();
|
|
15
15
|
var callURL = new URL(url, defaultHost);
|
|
16
16
|
var path = getPath(options === null || options === void 0 ? void 0 : options.host, expectedPath, defaultHost);
|
|
17
17
|
var expectedHost = (options === null || options === void 0 ? void 0 : options.host) || defaultHost;
|
|
@@ -28,6 +28,10 @@ var findRequestsByPath = function (expectedPath, options) {
|
|
|
28
28
|
return matchPathName;
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
|
+
var getDefaultHost = function () {
|
|
32
|
+
var configuredHost = (0, config_1.getConfig)().defaultHost;
|
|
33
|
+
return (configuredHost === null || configuredHost === void 0 ? void 0 : configuredHost.includes('http')) ? configuredHost : 'https://default.com';
|
|
34
|
+
};
|
|
31
35
|
var getPath = function (host, expectedPath, defaultHost) {
|
|
32
36
|
if (host === void 0) { host = ''; }
|
|
33
37
|
return expectedPath.includes(defaultHost) ? expectedPath : host + expectedPath;
|
|
@@ -48,7 +52,7 @@ var methodDoesNotMatch = function (expectedMethod, receivedRequestsMethods) {
|
|
|
48
52
|
};
|
|
49
53
|
var bodyDoesNotMatch = function (expectedBody, receivedRequestsBodies) {
|
|
50
54
|
var anyRequestMatch = receivedRequestsBodies
|
|
51
|
-
.map(function (request) { return deep_equal_1.default(expectedBody, request); })
|
|
55
|
+
.map(function (request) { return (0, deep_equal_1.default)(expectedBody, request); })
|
|
52
56
|
.every(function (requestCompare) { return requestCompare === false; });
|
|
53
57
|
return anyRequestMatch;
|
|
54
58
|
};
|
|
@@ -56,35 +60,35 @@ var empty = function (requests) { return requests.length === 0; };
|
|
|
56
60
|
var toHaveBeenFetchedWith = function (path, options) {
|
|
57
61
|
var targetRequests = findRequestsByPath(path);
|
|
58
62
|
if (empty(targetRequests)) {
|
|
59
|
-
return messages_1.emptyErrorMessage(path);
|
|
63
|
+
return (0, messages_1.emptyErrorMessage)(path);
|
|
60
64
|
}
|
|
61
65
|
var receivedRequestsMethods = getRequestsMethods(targetRequests);
|
|
62
66
|
var expectedMethod = options === null || options === void 0 ? void 0 : options.method;
|
|
63
67
|
if (methodDoesNotMatch(expectedMethod, receivedRequestsMethods)) {
|
|
64
|
-
return messages_1.methodDoesNotMatchErrorMessage(expectedMethod, receivedRequestsMethods);
|
|
68
|
+
return (0, messages_1.methodDoesNotMatchErrorMessage)(expectedMethod, receivedRequestsMethods);
|
|
65
69
|
}
|
|
66
70
|
var receivedRequestsBodies = getRequestsBodies(targetRequests);
|
|
67
71
|
var expectedBody = options === null || options === void 0 ? void 0 : options.body;
|
|
68
72
|
if (!expectedBody)
|
|
69
|
-
return messages_1.doesNotHaveBodyErrorMessage();
|
|
73
|
+
return (0, messages_1.doesNotHaveBodyErrorMessage)();
|
|
70
74
|
if (bodyDoesNotMatch(expectedBody, receivedRequestsBodies)) {
|
|
71
|
-
return messages_1.bodyDoesNotMatchErrorMessage(expectedBody, receivedRequestsBodies);
|
|
75
|
+
return (0, messages_1.bodyDoesNotMatchErrorMessage)(expectedBody, receivedRequestsBodies);
|
|
72
76
|
}
|
|
73
|
-
return messages_1.successMessage();
|
|
77
|
+
return (0, messages_1.successMessage)();
|
|
74
78
|
};
|
|
75
79
|
exports.toHaveBeenFetchedWith = toHaveBeenFetchedWith;
|
|
76
80
|
var toHaveBeenFetched = function (path, options) {
|
|
77
81
|
var requests = findRequestsByPath(path, options);
|
|
78
82
|
return !requests.length
|
|
79
|
-
? messages_1.emptyErrorMessage(path, options)
|
|
80
|
-
: messages_1.haveBeenFetchedSuccessMessage(path, options);
|
|
83
|
+
? (0, messages_1.emptyErrorMessage)(path, options)
|
|
84
|
+
: (0, messages_1.haveBeenFetchedSuccessMessage)(path, options);
|
|
81
85
|
};
|
|
82
86
|
exports.toHaveBeenFetched = toHaveBeenFetched;
|
|
83
87
|
var toHaveBeenFetchedTimes = function (path, expectedLength, options) {
|
|
84
88
|
var requests = findRequestsByPath(path, options);
|
|
85
89
|
return requests.length !== expectedLength
|
|
86
|
-
? messages_1.fetchLengthErrorMessage(path, expectedLength, requests.length)
|
|
87
|
-
: messages_1.successMessage();
|
|
90
|
+
? (0, messages_1.fetchLengthErrorMessage)(path, expectedLength, requests.length)
|
|
91
|
+
: (0, messages_1.successMessage)();
|
|
88
92
|
};
|
|
89
93
|
exports.toHaveBeenFetchedTimes = toHaveBeenFetchedTimes;
|
|
90
94
|
//# sourceMappingURL=fetch.js.map
|
package/assertions/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,oCAAqC;AACrC,uCAQmB;AAEnB,IAAM,kBAAkB,GAAG,UAAC,YAAY,EAAE,OAAO;IAC/C,OAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,EAAM;YAAL,IAAI,QAAA;QAC5B,IAAM,
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"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"}
|
package/assertions/messages.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export function methodDoesNotMatchErrorMessage(expected: any, received: any): {
|
|
|
10
10
|
pass: boolean;
|
|
11
11
|
message: () => string;
|
|
12
12
|
};
|
|
13
|
-
export function bodyDoesNotMatchErrorMessage(expected: any,
|
|
13
|
+
export function bodyDoesNotMatchErrorMessage(expected: any, receivedBodies: any): {
|
|
14
14
|
pass: boolean;
|
|
15
15
|
message: () => string;
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/assertions/messages.js"],"names":[],"mappings":"AAEA;;;EASC;AAED;;;EAIE;AAEF;;;EAIE;AAEF;;;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/assertions/messages.js"],"names":[],"mappings":"AAEA;;;EASC;AAED;;;EAIE;AAEF;;;EAIE;AAEF;;;EAWC;AAED;;;EAGE;AAEF;;;EAGE;AAEF;;;EAQC"}
|
package/assertions/messages.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.haveBeenFetchedSuccessMessage = exports.successMessage = exports.doesNotHaveBodyErrorMessage = exports.bodyDoesNotMatchErrorMessage = exports.methodDoesNotMatchErrorMessage = exports.fetchLengthErrorMessage = exports.emptyErrorMessage = void 0;
|
|
4
|
-
var
|
|
4
|
+
var jest_diff_1 = require("jest-diff");
|
|
5
5
|
var emptyErrorMessage = function (path, options) {
|
|
6
6
|
var message = (options === null || options === void 0 ? void 0 : options.host)
|
|
7
|
-
? "\uD83C\uDF2F Wrapito: "
|
|
8
|
-
: "\uD83C\uDF2F Wrapito: "
|
|
7
|
+
? "\uD83C\uDF2F Wrapito: ".concat(options === null || options === void 0 ? void 0 : options.host).concat(path, " ain't got called")
|
|
8
|
+
: "\uD83C\uDF2F Wrapito: ".concat(path, " ain't got called");
|
|
9
9
|
return {
|
|
10
10
|
pass: false,
|
|
11
11
|
message: function () { return message; },
|
|
@@ -15,23 +15,28 @@ exports.emptyErrorMessage = emptyErrorMessage;
|
|
|
15
15
|
var fetchLengthErrorMessage = function (path, expectLength, currentLength) { return ({
|
|
16
16
|
pass: false,
|
|
17
17
|
message: function () {
|
|
18
|
-
return "\uD83C\uDF2F Wrapito: "
|
|
18
|
+
return "\uD83C\uDF2F Wrapito: ".concat(path, " is called ").concat(currentLength, " times, you expected ").concat(expectLength, " times");
|
|
19
19
|
},
|
|
20
20
|
}); };
|
|
21
21
|
exports.fetchLengthErrorMessage = fetchLengthErrorMessage;
|
|
22
22
|
var methodDoesNotMatchErrorMessage = function (expected, received) { return ({
|
|
23
23
|
pass: false,
|
|
24
24
|
message: function () {
|
|
25
|
-
return "\uD83C\uDF2F Wrapito: Fetch method does not match, expected "
|
|
25
|
+
return "\uD83C\uDF2F Wrapito: Fetch method does not match, expected ".concat(expected, " received ").concat(received !== null && received !== void 0 ? received : 'none');
|
|
26
26
|
},
|
|
27
27
|
}); };
|
|
28
28
|
exports.methodDoesNotMatchErrorMessage = methodDoesNotMatchErrorMessage;
|
|
29
|
-
var bodyDoesNotMatchErrorMessage = function (expected,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
var bodyDoesNotMatchErrorMessage = function (expected, receivedBodies) {
|
|
30
|
+
var diffs = receivedBodies
|
|
31
|
+
.map(function (received) { return (0, jest_diff_1.diff)(expected, received); })
|
|
32
|
+
.join('\n\n');
|
|
33
|
+
return {
|
|
34
|
+
pass: false,
|
|
35
|
+
message: function () {
|
|
36
|
+
return "\uD83C\uDF2F Wrapito: Fetch body does not match.\n".concat(diffs);
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
};
|
|
35
40
|
exports.bodyDoesNotMatchErrorMessage = bodyDoesNotMatchErrorMessage;
|
|
36
41
|
var doesNotHaveBodyErrorMessage = function () { return ({
|
|
37
42
|
pass: false,
|
|
@@ -45,8 +50,8 @@ var successMessage = function () { return ({
|
|
|
45
50
|
exports.successMessage = successMessage;
|
|
46
51
|
var haveBeenFetchedSuccessMessage = function (path, options) {
|
|
47
52
|
var message = (options === null || options === void 0 ? void 0 : options.host)
|
|
48
|
-
? "\uD83C\uDF2F Wrapito: "
|
|
49
|
-
: "\uD83C\uDF2F Wrapito: "
|
|
53
|
+
? "\uD83C\uDF2F Wrapito: ".concat(options.host).concat(path, " is called")
|
|
54
|
+
: "\uD83C\uDF2F Wrapito: ".concat(path, " is called");
|
|
50
55
|
return {
|
|
51
56
|
pass: true,
|
|
52
57
|
message: function () { return message; },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/assertions/messages.js"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/assertions/messages.js"],"names":[],"mappings":";;;AAAA,uCAAgC;AAEhC,IAAM,iBAAiB,GAAG,UAAC,IAAI,EAAE,OAAO;IACtC,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;QAC3B,CAAC,CAAC,gCAAe,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,SAAG,IAAI,sBAAmB;QACxD,CAAC,CAAC,gCAAe,IAAI,sBAAmB,CAAA;IAE1C,OAAO;QACL,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,cAAM,OAAA,OAAO,EAAP,CAAO;KACvB,CAAA;AACH,CAAC,CAAA;AAgDC,8CAAiB;AA9CnB,IAAM,uBAAuB,GAAG,UAAC,IAAI,EAAE,YAAY,EAAE,aAAa,IAAK,OAAA,CAAC;IACtE,IAAI,EAAE,KAAK;IACX,OAAO,EAAE;QACP,OAAA,gCAAe,IAAI,wBAAc,aAAa,kCAAwB,YAAY,WAAQ;IAA1F,CAA0F;CAC7F,CAAC,EAJqE,CAIrE,CAAA;AA2CA,0DAAuB;AAzCzB,IAAM,8BAA8B,GAAG,UAAC,QAAQ,EAAE,QAAQ,IAAK,OAAA,CAAC;IAC9D,IAAI,EAAE,KAAK;IACX,OAAO,EAAE;QACP,OAAA,sEAAqD,QAAQ,uBAAa,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAM,CAAE;IAA9F,CAA8F;CACjG,CAAC,EAJ6D,CAI7D,CAAA;AAsCA,wEAA8B;AApChC,IAAM,4BAA4B,GAAG,UAAC,QAAQ,EAAE,cAAc;IAC5D,IAAM,KAAK,GAAG,cAAc;SACzB,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,IAAA,gBAAI,EAAC,QAAQ,EAAE,QAAQ,CAAC,EAAxB,CAAwB,CAAC;SACzC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEf,OAAO;QACL,IAAI,EAAE,KAAK;QACX,OAAO,EAAE;YACP,OAAA,4DACJ,KAAK,CAAE;QADH,CACG;KACN,CAAA;AACH,CAAC,CAAA;AA0BC,oEAA4B;AAxB9B,IAAM,2BAA2B,GAAG,cAAM,OAAA,CAAC;IACzC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,cAAM,OAAA,kCAAkC,EAAlC,CAAkC;CAClD,CAAC,EAHwC,CAGxC,CAAA;AAsBA,kEAA2B;AApB7B,IAAM,cAAc,GAAG,cAAM,OAAA,CAAC;IAC5B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;CACzB,CAAC,EAH2B,CAG3B,CAAA;AAkBA,wCAAc;AAhBhB,IAAM,6BAA6B,GAAG,UAAC,IAAI,EAAE,OAAO;IAClD,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;QAC3B,CAAC,CAAC,gCAAe,OAAO,CAAC,IAAI,SAAG,IAAI,eAAY;QAChD,CAAC,CAAC,gCAAe,IAAI,eAAY,CAAA;IACnC,OAAO;QACL,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAM,OAAA,OAAO,EAAP,CAAO;KACvB,CAAA;AACH,CAAC,CAAA;AASC,sEAA6B"}
|
package/config.js
CHANGED
|
@@ -15,7 +15,7 @@ exports.getConfig = exports.configure = void 0;
|
|
|
15
15
|
var react_dom_1 = require("react-dom");
|
|
16
16
|
var mount = function (component) {
|
|
17
17
|
var rootNode = document.body.appendChild(document.createElement('div'));
|
|
18
|
-
react_dom_1.render(component, rootNode);
|
|
18
|
+
(0, react_dom_1.render)(component, rootNode);
|
|
19
19
|
return rootNode;
|
|
20
20
|
};
|
|
21
21
|
var config = {
|
package/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAAkC;AAIlC,IAAM,KAAK,GAAG,UAAC,SAAoB;IACjC,IAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAEzE,kBAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAAkC;AAIlC,IAAM,KAAK,GAAG,UAAC,SAAoB;IACjC,IAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAEzE,IAAA,kBAAM,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAE3B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,IAAI,MAAM,GAAW;IACnB,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,KAAK,OAAA;IACL,WAAW,EAAE,UAAC,IAAY,IAAK,OAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAA3C,CAA2C;CAC3E,CAAA;AAED,SAAS,SAAS,CAAC,SAAiB;IAClC,MAAM,yBACD,MAAM,GACN,SAAS,CACb,CAAA;AACH,CAAC;AAIQ,8BAAS;AAFlB,IAAM,SAAS,GAAG,cAAc,OAAA,cAAM,MAAM,EAAG,EAAf,CAAe,CAAA;AAE3B,8BAAS"}
|
package/mockNetwork.js
CHANGED
|
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
25
25
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
26
|
function step(op) {
|
|
27
27
|
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
29
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
30
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
31
|
switch (op[0]) {
|
|
@@ -91,12 +91,12 @@ var createResponse = function (mockResponse) { return __awaiter(void 0, void 0,
|
|
|
91
91
|
});
|
|
92
92
|
}); };
|
|
93
93
|
var printRequest = function (request) {
|
|
94
|
-
return console.warn("\n"
|
|
94
|
+
return console.warn("\n".concat(chalk_1.default.white.bold.bgRed('wrapito'), " ").concat(chalk_1.default.redBright.bold('cannot find any mock matching:'), "\n ").concat(chalk_1.default.greenBright("URL: ".concat(request.url)), "\n ").concat(chalk_1.default.greenBright("METHOD: ".concat(request.method.toLowerCase())), "\n ").concat(chalk_1.default.greenBright("REQUEST BODY: ".concat(request._bodyInit)), "\n "));
|
|
95
95
|
};
|
|
96
96
|
var mockFetch = function (responses, request, debug) { return __awaiter(void 0, void 0, void 0, function () {
|
|
97
97
|
var responseMatchingRequest, multipleResponses, responseNotYetReturned;
|
|
98
98
|
return __generator(this, function (_a) {
|
|
99
|
-
responseMatchingRequest = responses.find(requestMatcher_1.getRequestMatcher(request));
|
|
99
|
+
responseMatchingRequest = responses.find((0, requestMatcher_1.getRequestMatcher)(request));
|
|
100
100
|
if (!responseMatchingRequest) {
|
|
101
101
|
if (debug) {
|
|
102
102
|
printRequest(request);
|
|
@@ -133,7 +133,7 @@ var mockNetwork = function (responses, debug) {
|
|
|
133
133
|
};
|
|
134
134
|
exports.mockNetwork = mockNetwork;
|
|
135
135
|
var printMultipleResponsesWarning = function (response) {
|
|
136
|
-
var errorMessage = "\uD83C\uDF2F Wrapito: Missing response in the multipleResponses array for path "
|
|
136
|
+
var errorMessage = "\uD83C\uDF2F Wrapito: Missing response in the multipleResponses array for path ".concat(response.path, " and method ").concat(response.method, ".");
|
|
137
137
|
var formattedErrorMessage = chalk_1.default.greenBright(errorMessage);
|
|
138
138
|
console.warn(formattedErrorMessage);
|
|
139
139
|
};
|
package/mockNetwork.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockNetwork.js","sourceRoot":"","sources":["../src/mockNetwork.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAyB;AAEzB,mDAAoD;AAQpD,UAAU,CAAC;IACT,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AACjC,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC;IACR,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;AACnC,CAAC,CAAC,CAAA;AAEF,IAAM,qBAAqB,GAAG;;;QACtB,QAAQ,GAAG;YACf,IAAI,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,EAAjB,CAAiB;YAC7B,MAAM,EAAE,GAAG;YACX,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;SAC7D,CAAA;QAED,sBAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;;KACjC,CAAA;AAED,IAAM,cAAc,GAAG,UAAO,YAAsB;;;QAC1C,YAAY,GAAmC,YAAY,aAA/C,EAAE,KAAiC,YAAY,OAAjC,EAAZ,MAAM,mBAAG,GAAG,KAAA,EAAE,OAAO,GAAY,YAAY,QAAxB,EAAE,KAAK,GAAK,YAAY,MAAjB,CAAiB;QAC7D,QAAQ,GAAG;YACf,IAAI,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAA7B,CAA6B;YACzC,MAAM,QAAA;YACN,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG;YAClC,OAAO,EAAE,IAAI,OAAO,YAAG,cAAc,EAAE,kBAAkB,IAAK,OAAO,EAAG;SACzE,CAAA;QAED,IAAI,CAAC,KAAK;YAAE,sBAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;QAE5C,sBAAO,IAAI,OAAO,CAAC,UAAA,OAAO;gBACxB,OAAA,UAAU,CAAC;oBACT,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC1B,CAAC,EAAE,KAAK,CAAC;YAFT,CAES,CACV,EAAA;;KACF,CAAA;AAED,IAAM,YAAY,GAAG,UAAC,OAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"mockNetwork.js","sourceRoot":"","sources":["../src/mockNetwork.ts"],"names":[],"mappings":"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"}
|
package/models.d.ts
CHANGED
|
@@ -32,12 +32,12 @@ interface WrapOptions {
|
|
|
32
32
|
interface WrapExtensionAPI {
|
|
33
33
|
addResponses: (responses: WrapResponse[]) => void;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
type Extension = <T>(extensionAPI: WrapExtensionAPI, args: T) => Wrap;
|
|
36
|
+
type Extensions = {
|
|
37
37
|
[key: string]: Extension;
|
|
38
38
|
};
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
type Component = React.ReactElement<any, any>;
|
|
40
|
+
type Mount = (component: Component) => HTMLDivElement;
|
|
41
41
|
interface Config {
|
|
42
42
|
defaultHost: string;
|
|
43
43
|
mount: Mount;
|
package/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,UAAU,WAAY,SAAQ,OAAO;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,YAAa,SAAQ,QAAQ;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,UAAU,IAAI;IACZ,WAAW,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;IAChD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,MAAM,CAAA;CACpB;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,CAAA;IACjC,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACf;AAED,UAAU,gBAAgB;IACxB,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;CAClD;AAED,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,UAAU,WAAY,SAAQ,OAAO;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,YAAa,SAAQ,QAAQ;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,UAAU,IAAI;IACZ,WAAW,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;IAChD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,MAAM,CAAA;CACpB;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,CAAA;IACjC,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACf;AAED,UAAU,gBAAgB;IACxB,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;CAClD;AAED,KAAK,SAAS,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAErE,KAAK,UAAU,GAAG;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CAAA;AAED,KAAK,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAE7C,KAAK,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,cAAc,CAAA;AAErD,UAAU,MAAM;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,cAAe,SAAQ,OAAO;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACpD;AAED,OAAO,EACL,WAAW,EACX,YAAY,IAAI,QAAQ,EACxB,MAAM,EACN,KAAK,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,IAAI,EACJ,WAAW,GACZ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wrapito",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.5.0",
|
|
4
4
|
"description": "🌯 🌯 Wrap you tests so that you can test both behaviour and components with less effort.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"homepage": "https://github.com/mercadona/wrapito#readme",
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"deep-equal": "^1.0.1",
|
|
41
|
+
"jest-diff": "^29.7.0",
|
|
41
42
|
"object-hash": "^2.1.1",
|
|
42
43
|
"whatwg-fetch": "^3.5.0"
|
|
43
44
|
},
|
|
@@ -66,8 +67,8 @@
|
|
|
66
67
|
"typescript": "^4.3.3"
|
|
67
68
|
},
|
|
68
69
|
"peerDependencies": {
|
|
69
|
-
"jest": "*",
|
|
70
70
|
"chalk": "*",
|
|
71
|
+
"jest": "*",
|
|
71
72
|
"react": "*",
|
|
72
73
|
"react-dom": "*"
|
|
73
74
|
},
|
package/requestMatcher.js
CHANGED
|
@@ -7,16 +7,16 @@ exports.getRequestMatcher = void 0;
|
|
|
7
7
|
var object_hash_1 = __importDefault(require("object-hash"));
|
|
8
8
|
var config_1 = require("./config");
|
|
9
9
|
var getRequestMatcher = function (request) { return function (mockedRequest) {
|
|
10
|
-
var _a = mockedRequest.method, method = _a === void 0 ? 'GET' : _a, path = mockedRequest.path, _b = mockedRequest.host, host = _b === void 0 ? config_1.getConfig().defaultHost : _b, _c = mockedRequest.requestBody, requestBody = _c === void 0 ? undefined : _c, catchParams = mockedRequest.catchParams;
|
|
10
|
+
var _a = mockedRequest.method, method = _a === void 0 ? 'GET' : _a, path = mockedRequest.path, _b = mockedRequest.host, host = _b === void 0 ? (0, config_1.getConfig)().defaultHost : _b, _c = mockedRequest.requestBody, requestBody = _c === void 0 ? undefined : _c, catchParams = mockedRequest.catchParams;
|
|
11
11
|
var url = host + path;
|
|
12
|
-
var isQueryParamsSensitive = !config_1.getConfig().handleQueryParams || catchParams;
|
|
13
|
-
var mockedRequestHash = object_hash_1.default({
|
|
12
|
+
var isQueryParamsSensitive = !(0, config_1.getConfig)().handleQueryParams || catchParams;
|
|
13
|
+
var mockedRequestHash = (0, object_hash_1.default)({
|
|
14
14
|
url: isQueryParamsSensitive ? url : url.split('?')[0],
|
|
15
15
|
method: method.toUpperCase(),
|
|
16
16
|
requestBody: requestBody,
|
|
17
17
|
});
|
|
18
18
|
var hasBody = !!request._bodyInit;
|
|
19
|
-
var requestHash = object_hash_1.default({
|
|
19
|
+
var requestHash = (0, object_hash_1.default)({
|
|
20
20
|
url: isQueryParamsSensitive ? request.url : request.url.split('?')[0],
|
|
21
21
|
method: request.method,
|
|
22
22
|
requestBody: hasBody ? JSON.parse(request._bodyInit) : undefined,
|
package/requestMatcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestMatcher.js","sourceRoot":"","sources":["../src/requestMatcher.js"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAE9B,mCAAoC;AAEpC,IAAM,iBAAiB,GAAG,UAAA,OAAO,IAAI,OAAA,UAAA,aAAa;IAE9C,IAAA,KAKE,aAAa,OALD,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,IAAI,GAIF,aAAa,KAJX,EACJ,KAGE,aAAa,KAHe,EAA9B,IAAI,mBAAG,kBAAS,
|
|
1
|
+
{"version":3,"file":"requestMatcher.js","sourceRoot":"","sources":["../src/requestMatcher.js"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAE9B,mCAAoC;AAEpC,IAAM,iBAAiB,GAAG,UAAA,OAAO,IAAI,OAAA,UAAA,aAAa;IAE9C,IAAA,KAKE,aAAa,OALD,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,IAAI,GAIF,aAAa,KAJX,EACJ,KAGE,aAAa,KAHe,EAA9B,IAAI,mBAAG,IAAA,kBAAS,GAAE,CAAC,WAAW,KAAA,EAC9B,KAEE,aAAa,YAFQ,EAAvB,WAAW,mBAAG,SAAS,KAAA,EACvB,WAAW,GACT,aAAa,YADJ,CACI;IAEjB,IAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;IACvB,IAAM,sBAAsB,GAAG,CAAC,IAAA,kBAAS,GAAE,CAAC,iBAAiB,IAAI,WAAW,CAAA;IAE5E,IAAM,iBAAiB,GAAG,IAAA,qBAAI,EAAC;QAC7B,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;QAC5B,WAAW,EAAE,WAAW;KACzB,CAAC,CAAA;IAEF,IAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAA;IACnC,IAAM,WAAW,GAAG,IAAA,qBAAI,EAAC;QACvB,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC,CAAA;IACF,OAAO,WAAW,KAAK,iBAAiB,CAAA;AAC1C,CAAC,EAzBoC,CAyBpC,CAAA;AAEQ,8CAAiB"}
|
package/wrap.js
CHANGED
|
@@ -10,10 +10,14 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
14
|
-
for (var i = 0,
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
17
21
|
};
|
|
18
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
23
|
exports.wrap = void 0;
|
|
@@ -29,7 +33,7 @@ afterEach(function () {
|
|
|
29
33
|
mockedFetch.mockRestore();
|
|
30
34
|
});
|
|
31
35
|
var wrap = function (Component) {
|
|
32
|
-
options_1.updateOptions({
|
|
36
|
+
(0, options_1.updateOptions)({
|
|
33
37
|
Component: Component,
|
|
34
38
|
responses: [],
|
|
35
39
|
props: {},
|
|
@@ -45,9 +49,9 @@ var wrapWith = function () {
|
|
|
45
49
|
return __assign({ withProps: withProps, withNetwork: withNetwork, atPath: atPath, debugRequests: debugRequests, mount: getMount }, extensions);
|
|
46
50
|
};
|
|
47
51
|
var addResponses = function (newResponses) {
|
|
48
|
-
var options = options_1.getOptions();
|
|
49
|
-
var responses = __spreadArray(__spreadArray([], options.responses), newResponses);
|
|
50
|
-
options_1.updateOptions(__assign(__assign({}, options), { responses: responses }));
|
|
52
|
+
var options = (0, options_1.getOptions)();
|
|
53
|
+
var responses = __spreadArray(__spreadArray([], options.responses, true), newResponses, true);
|
|
54
|
+
(0, options_1.updateOptions)(__assign(__assign({}, options), { responses: responses }));
|
|
51
55
|
};
|
|
52
56
|
var applyExtension = function (args, extension) {
|
|
53
57
|
var wrapExtensionAPI = { addResponses: addResponses };
|
|
@@ -56,7 +60,7 @@ var applyExtension = function (args, extension) {
|
|
|
56
60
|
};
|
|
57
61
|
var buildExtensions = function (alreadyExtended, extensionName) {
|
|
58
62
|
var _a;
|
|
59
|
-
var extensions = config_1.getConfig().extend;
|
|
63
|
+
var extensions = (0, config_1.getConfig)().extend;
|
|
60
64
|
var extension = extensions[extensionName];
|
|
61
65
|
return __assign(__assign({}, alreadyExtended), (_a = {}, _a[extensionName] = function () {
|
|
62
66
|
var args = [];
|
|
@@ -67,35 +71,35 @@ var buildExtensions = function (alreadyExtended, extensionName) {
|
|
|
67
71
|
}, _a));
|
|
68
72
|
};
|
|
69
73
|
var extendWith = function () {
|
|
70
|
-
var extensions = config_1.getConfig().extend;
|
|
74
|
+
var extensions = (0, config_1.getConfig)().extend;
|
|
71
75
|
var extensionNames = Object.keys(extensions);
|
|
72
76
|
return extensionNames.reduce(buildExtensions, {});
|
|
73
77
|
};
|
|
74
78
|
var withProps = function (props) {
|
|
75
|
-
var options = options_1.getOptions();
|
|
76
|
-
options_1.updateOptions(__assign(__assign({}, options), { props: props }));
|
|
79
|
+
var options = (0, options_1.getOptions)();
|
|
80
|
+
(0, options_1.updateOptions)(__assign(__assign({}, options), { props: props }));
|
|
77
81
|
return wrapWith();
|
|
78
82
|
};
|
|
79
83
|
var withNetwork = function (responses) {
|
|
80
84
|
if (responses === void 0) { responses = []; }
|
|
81
|
-
var options = options_1.getOptions();
|
|
85
|
+
var options = (0, options_1.getOptions)();
|
|
82
86
|
var listOfResponses = Array.isArray(responses) ? responses : [responses];
|
|
83
|
-
options_1.updateOptions(__assign(__assign({}, options), { responses: __spreadArray(__spreadArray([], options.responses), listOfResponses) }));
|
|
87
|
+
(0, options_1.updateOptions)(__assign(__assign({}, options), { responses: __spreadArray(__spreadArray([], options.responses, true), listOfResponses, true) }));
|
|
84
88
|
return wrapWith();
|
|
85
89
|
};
|
|
86
90
|
var atPath = function (path, historyState) {
|
|
87
|
-
var options = options_1.getOptions();
|
|
88
|
-
options_1.updateOptions(__assign(__assign({}, options), { historyState: historyState, path: path, hasPath: true }));
|
|
91
|
+
var options = (0, options_1.getOptions)();
|
|
92
|
+
(0, options_1.updateOptions)(__assign(__assign({}, options), { historyState: historyState, path: path, hasPath: true }));
|
|
89
93
|
return wrapWith();
|
|
90
94
|
};
|
|
91
95
|
var debugRequests = function () {
|
|
92
|
-
var options = options_1.getOptions();
|
|
93
|
-
options_1.updateOptions(__assign(__assign({}, options), { debug: true }));
|
|
96
|
+
var options = (0, options_1.getOptions)();
|
|
97
|
+
(0, options_1.updateOptions)(__assign(__assign({}, options), { debug: true }));
|
|
94
98
|
return wrapWith();
|
|
95
99
|
};
|
|
96
100
|
var getMount = function () {
|
|
97
|
-
var _a = config_1.getConfig(), portal = _a.portal, changeRoute = _a.changeRoute, history = _a.history, mount = _a.mount;
|
|
98
|
-
var _b = options_1.getOptions(), Component = _b.Component, props = _b.props, responses = _b.responses, path = _b.path, hasPath = _b.hasPath, debug = _b.debug, historyState = _b.historyState;
|
|
101
|
+
var _a = (0, config_1.getConfig)(), portal = _a.portal, changeRoute = _a.changeRoute, history = _a.history, mount = _a.mount;
|
|
102
|
+
var _b = (0, options_1.getOptions)(), Component = _b.Component, props = _b.props, responses = _b.responses, path = _b.path, hasPath = _b.hasPath, debug = _b.debug, historyState = _b.historyState;
|
|
99
103
|
if (portal) {
|
|
100
104
|
setupPortal(portal);
|
|
101
105
|
}
|
|
@@ -107,8 +111,8 @@ var getMount = function () {
|
|
|
107
111
|
if (hasPath && !history) {
|
|
108
112
|
changeRoute(path);
|
|
109
113
|
}
|
|
110
|
-
mockNetwork_1.mockNetwork(responses, debug);
|
|
111
|
-
return mount(jsx_runtime_1.jsx(Component, __assign({}, props)
|
|
114
|
+
(0, mockNetwork_1.mockNetwork)(responses, debug);
|
|
115
|
+
return mount((0, jsx_runtime_1.jsx)(Component, __assign({}, props)));
|
|
112
116
|
};
|
|
113
117
|
var setupPortal = function (portalRootId) {
|
|
114
118
|
if (document.getElementById(portalRootId)) {
|
package/wrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"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"}
|