wrapito 8.1.0 → 9.1.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 CHANGED
@@ -171,6 +171,17 @@ wrap(MyComponent)
171
171
  .mount()
172
172
  ```
173
173
 
174
+ By default it will use the native javascript history API, but you can provide a method to be called for change the app route with [`changeRoute`](#changeRoute):
175
+ ```js
176
+ import { configure } from 'wrapito'
177
+ import { history } from 'app.js'
178
+
179
+ configure({
180
+ ..configuration,
181
+ changeRoute: (route) => history.push(route)
182
+ })
183
+ ```
184
+
174
185
  #### withProps
175
186
  Pass down the props to the wrapped component:
176
187
  ```js
@@ -1,13 +1,19 @@
1
1
  export function toHaveBeenFetchedWith(path: any, options: any): {
2
2
  pass: boolean;
3
- message: () => any;
3
+ message: () => string;
4
+ } | {
5
+ pass: boolean;
6
+ message: () => undefined;
4
7
  };
5
8
  export function toHaveBeenFetched(path: any): {
6
9
  pass: boolean;
7
- message: () => any;
10
+ message: () => string;
8
11
  };
9
12
  export function toHaveBeenFetchedTimes(path: any, expectedLength: any): {
10
13
  pass: boolean;
11
- message: () => any;
14
+ message: () => string;
15
+ } | {
16
+ pass: boolean;
17
+ message: () => undefined;
12
18
  };
13
19
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"AAgEA;;;EAyBC;AAED;;;EAGC;AAED;;;EAKC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"AAqCA;;;;;;EA0BC;AAED;;;EAGC;AAED;;;;;;EAKC"}
@@ -5,33 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.toHaveBeenFetchedTimes = exports.toHaveBeenFetched = exports.toHaveBeenFetchedWith = void 0;
7
7
  var deep_equal_1 = __importDefault(require("deep-equal"));
8
- var chalk_1 = require("chalk");
9
- var emptyErrorMessage = function (path) { return ({
10
- pass: false,
11
- message: function () { return "\uD83C\uDF2F Wrapito: " + path + " ain't got called"; },
12
- }); };
13
- var fetchLengthErrorMessage = function (path, expectLength, currentLength) { return ({
14
- pass: false,
15
- message: function () {
16
- return "\uD83C\uDF2F Wrapito: " + path + " is called " + currentLength + " times, you expected " + expectLength + " times";
17
- },
18
- }); };
19
- var methodDoesNotMatchErrorMessage = function (expected, received) { return ({
20
- pass: false,
21
- message: function () {
22
- return "\uD83C\uDF2F Wrapito: Fetch method does not match, expected " + expected + " received " + received;
23
- },
24
- }); };
25
- var bodyDoesNotMatchErrorMessage = function (expected, received) { return ({
26
- pass: false,
27
- message: function () {
28
- return "\uD83C\uDF2F Wrapito: Fetch body does not match.\nExpected:\n" + chalk_1.green(JSON.stringify(expected, null, ' ')) + "\n\nReceived:\n" + chalk_1.red(JSON.stringify(received, null, ' '));
29
- },
30
- }); };
31
- var successMessage = function () { return ({
32
- pass: true,
33
- message: function () { return undefined; },
34
- }); };
8
+ var messages_1 = require("./messages");
35
9
  var findRequestsByPath = function (path) {
36
10
  return fetch.mock.calls.filter(function (call) { return call[0].url.includes(path); });
37
11
  };
@@ -49,8 +23,6 @@ var methodDoesNotMatch = function (expectedMethod, receivedRequestsMethods) {
49
23
  return expectedMethod && !receivedRequestsMethods.includes(expectedMethod);
50
24
  };
51
25
  var bodyDoesNotMatch = function (expectedBody, receivedRequestsBodies) {
52
- if (!expectedBody)
53
- return false;
54
26
  var anyRequestMatch = receivedRequestsBodies
55
27
  .map(function (request) { return deep_equal_1.default(expectedBody, request); })
56
28
  .every(function (requestCompare) { return requestCompare === false; });
@@ -60,31 +32,33 @@ var empty = function (requests) { return requests.length === 0; };
60
32
  var toHaveBeenFetchedWith = function (path, options) {
61
33
  var targetRequests = findRequestsByPath(path);
62
34
  if (empty(targetRequests)) {
63
- return emptyErrorMessage(path);
35
+ return messages_1.emptyErrorMessage(path);
64
36
  }
65
37
  var receivedRequestsMethods = getRequestsMethods(targetRequests);
66
38
  var expectedMethod = options === null || options === void 0 ? void 0 : options.method;
67
39
  if (methodDoesNotMatch(expectedMethod, receivedRequestsMethods)) {
68
- return methodDoesNotMatchErrorMessage(expectedMethod, receivedRequestsMethods);
40
+ return messages_1.methodDoesNotMatchErrorMessage(expectedMethod, receivedRequestsMethods);
69
41
  }
70
42
  var receivedRequestsBodies = getRequestsBodies(targetRequests);
71
43
  var expectedBody = options === null || options === void 0 ? void 0 : options.body;
44
+ if (!expectedBody)
45
+ return messages_1.doesNotHaveBodyErrorMessage();
72
46
  if (bodyDoesNotMatch(expectedBody, receivedRequestsBodies)) {
73
- return bodyDoesNotMatchErrorMessage(expectedBody, receivedRequestsBodies);
47
+ return messages_1.bodyDoesNotMatchErrorMessage(expectedBody, receivedRequestsBodies);
74
48
  }
75
- return successMessage();
49
+ return messages_1.successMessage();
76
50
  };
77
51
  exports.toHaveBeenFetchedWith = toHaveBeenFetchedWith;
78
52
  var toHaveBeenFetched = function (path) {
79
53
  var requests = findRequestsByPath(path);
80
- return !requests.length ? emptyErrorMessage(path) : successMessage();
54
+ return !requests.length ? messages_1.emptyErrorMessage(path) : messages_1.haveBeenFetchedSuccessMessage(path);
81
55
  };
82
56
  exports.toHaveBeenFetched = toHaveBeenFetched;
83
57
  var toHaveBeenFetchedTimes = function (path, expectedLength) {
84
58
  var requests = findRequestsByPath(path);
85
59
  return requests.length !== expectedLength
86
- ? fetchLengthErrorMessage(path, expectedLength, requests.length)
87
- : successMessage();
60
+ ? messages_1.fetchLengthErrorMessage(path, expectedLength, requests.length)
61
+ : messages_1.successMessage();
88
62
  };
89
63
  exports.toHaveBeenFetchedTimes = toHaveBeenFetchedTimes;
90
64
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export function emptyErrorMessage(path: any): {
2
+ pass: boolean;
3
+ message: () => string;
4
+ };
5
+ export function fetchLengthErrorMessage(path: any, expectLength: any, currentLength: any): {
6
+ pass: boolean;
7
+ message: () => string;
8
+ };
9
+ export function methodDoesNotMatchErrorMessage(expected: any, received: any): {
10
+ pass: boolean;
11
+ message: () => string;
12
+ };
13
+ export function bodyDoesNotMatchErrorMessage(expected: any, received: any): {
14
+ pass: boolean;
15
+ message: () => string;
16
+ };
17
+ export function doesNotHaveBodyErrorMessage(): {
18
+ pass: boolean;
19
+ message: () => string;
20
+ };
21
+ export function successMessage(): {
22
+ pass: boolean;
23
+ message: () => undefined;
24
+ };
25
+ export function haveBeenFetchedSuccessMessage(path: any): {
26
+ pass: boolean;
27
+ message: () => string;
28
+ };
29
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/assertions/messages.js"],"names":[],"mappings":"AAEA;;;EAGE;AAEF;;;EAIE;AAEF;;;EAIE;AAEF;;;EASE;AAEF;;;EAGE;AAEF;;;EAGE;AAEF;;;EAGE"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.haveBeenFetchedSuccessMessage = exports.successMessage = exports.doesNotHaveBodyErrorMessage = exports.bodyDoesNotMatchErrorMessage = exports.methodDoesNotMatchErrorMessage = exports.fetchLengthErrorMessage = exports.emptyErrorMessage = void 0;
4
+ var chalk_1 = require("chalk");
5
+ var emptyErrorMessage = function (path) { return ({
6
+ pass: false,
7
+ message: function () { return "\uD83C\uDF2F Wrapito: " + path + " ain't got called"; },
8
+ }); };
9
+ exports.emptyErrorMessage = emptyErrorMessage;
10
+ var fetchLengthErrorMessage = function (path, expectLength, currentLength) { return ({
11
+ pass: false,
12
+ message: function () {
13
+ return "\uD83C\uDF2F Wrapito: " + path + " is called " + currentLength + " times, you expected " + expectLength + " times";
14
+ },
15
+ }); };
16
+ exports.fetchLengthErrorMessage = fetchLengthErrorMessage;
17
+ var methodDoesNotMatchErrorMessage = function (expected, received) { return ({
18
+ pass: false,
19
+ message: function () {
20
+ return "\uD83C\uDF2F Wrapito: Fetch method does not match, expected " + expected + " received " + received;
21
+ },
22
+ }); };
23
+ exports.methodDoesNotMatchErrorMessage = methodDoesNotMatchErrorMessage;
24
+ var bodyDoesNotMatchErrorMessage = function (expected, received) { return ({
25
+ pass: false,
26
+ message: function () {
27
+ return "\uD83C\uDF2F Wrapito: Fetch body does not match.\nExpected:\n" + chalk_1.green(JSON.stringify(expected, null, ' ')) + "\n\nReceived:\n" + chalk_1.red(JSON.stringify(received, null, ' '));
28
+ },
29
+ }); };
30
+ exports.bodyDoesNotMatchErrorMessage = bodyDoesNotMatchErrorMessage;
31
+ var doesNotHaveBodyErrorMessage = function () { return ({
32
+ pass: false,
33
+ message: function () { return '🌯 Wrapito: Unable to find body.'; }
34
+ }); };
35
+ exports.doesNotHaveBodyErrorMessage = doesNotHaveBodyErrorMessage;
36
+ var successMessage = function () { return ({
37
+ pass: true,
38
+ message: function () { return undefined; },
39
+ }); };
40
+ exports.successMessage = successMessage;
41
+ var haveBeenFetchedSuccessMessage = function (path) { return ({
42
+ pass: true,
43
+ message: function () { return "\uD83C\uDF2F Wrapito: " + path + " is called"; },
44
+ }); };
45
+ exports.haveBeenFetchedSuccessMessage = haveBeenFetchedSuccessMessage;
46
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/assertions/messages.js"],"names":[],"mappings":";;;AAAA,+BAAkC;AAElC,IAAM,iBAAiB,GAAG,UAAA,IAAI,IAAI,OAAA,CAAC;IACjC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,cAAM,OAAA,2BAAgB,IAAI,sBAAoB,EAAxC,CAAwC;CACxD,CAAC,EAHgC,CAGhC,CAAA;AAyCA,8CAAiB;AAvCnB,IAAM,uBAAuB,GAAG,UAAC,IAAI,EAAE,YAAY,EAAE,aAAa,IAAK,OAAA,CAAC;IACtE,IAAI,EAAE,KAAK;IACX,OAAO,EAAE;QACP,OAAA,2BAAgB,IAAI,mBAAgB,aAAa,6BAA0B,YAAY,WAAS;IAAhG,CAAgG;CACnG,CAAC,EAJqE,CAIrE,CAAA;AAoCA,0DAAuB;AAlCzB,IAAM,8BAA8B,GAAG,UAAC,QAAQ,EAAE,QAAQ,IAAK,OAAA,CAAC;IAC9D,IAAI,EAAE,KAAK;IACX,OAAO,EAAE;QACP,OAAA,iEAAsD,QAAQ,kBAAe,QAAW;IAAxF,CAAwF;CAC3F,CAAC,EAJ6D,CAI7D,CAAA;AA+BA,wEAA8B;AA7BhC,IAAM,4BAA4B,GAAG,UAAC,QAAQ,EAAE,QAAQ,IAAK,OAAA,CAAC;IAC5D,IAAI,EAAE,KAAK;IACX,OAAO,EAAE;QACP,OAAA,kEAED,aAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,uBAG1C,WAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAI;IAL1C,CAK0C;CAC7C,CAAC,EAT2D,CAS3D,CAAA;AAqBA,oEAA4B;AAnB9B,IAAM,2BAA2B,GAAG,cAAM,OAAA,CAAC;IACzC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,cAAM,OAAA,kCAAkC,EAAlC,CAAkC;CAClD,CAAC,EAHwC,CAGxC,CAAA;AAiBA,kEAA2B;AAf7B,IAAM,cAAc,GAAG,cAAM,OAAA,CAAC;IAC5B,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;CACzB,CAAC,EAH2B,CAG3B,CAAA;AAaA,wCAAc;AAXhB,IAAM,6BAA6B,GAAG,UAAC,IAAI,IAAK,OAAA,CAAC;IAC/C,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,cAAM,OAAA,2BAAe,IAAI,eAAY,EAA/B,CAA+B;CAC/C,CAAC,EAH8C,CAG9C,CAAA;AASA,sEAA6B"}
package/config.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- export function configure(newConfig: any): void;
2
- export function getConfig(): {
3
- defaultHost: string;
4
- mount: (component: any) => HTMLDivElement;
5
- };
1
+ import { Config, Mount } from './models';
2
+ declare function configure(newConfig: Config): void;
3
+ declare const getConfig: () => Config;
4
+ export { configure, getConfig, Config, Mount };
6
5
  //# sourceMappingURL=config.d.ts.map
package/config.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.js"],"names":[],"mappings":"AAeA,gDAKC;AAED;;;EAAuC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAiBnD,iBAAS,SAAS,CAAC,SAAS,EAAE,MAAM,QAKnC;AAED,QAAA,MAAM,SAAS,QAAO,MAAyB,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA"}
package/config.js CHANGED
@@ -20,7 +20,9 @@ var mount = function (component) {
20
20
  };
21
21
  var config = {
22
22
  defaultHost: '',
23
+ extend: {},
23
24
  mount: mount,
25
+ changeRoute: function (path) { return window.history.replaceState(null, '', path); },
24
26
  };
25
27
  function configure(newConfig) {
26
28
  config = __assign(__assign({}, config), newConfig);
package/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAAkC;AAElC,IAAM,KAAK,GAAG,UAAA,SAAS;IACrB,IAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAEzE,kBAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAE3B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,IAAI,MAAM,GAAG;IACX,WAAW,EAAE,EAAE;IACf,KAAK,OAAA;CACN,CAAA;AAED,SAAS,SAAS,CAAC,SAAS;IAC1B,MAAM,yBACD,MAAM,GACN,SAAS,CACb,CAAA;AACH,CAAC;AAIQ,8BAAS;AAFlB,IAAM,SAAS,GAAG,cAAM,OAAA,cAAM,MAAM,EAAG,EAAf,CAAe,CAAA;AAEnB,8BAAS"}
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,CAAC,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/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { wrap } from "./wrap";
2
- export { configure } from "./config";
3
- export { assertions } from "./assertions";
1
+ export { wrap } from './wrap';
2
+ export { configure } from './config';
3
+ export { assertions } from './assertions';
4
4
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,mCAAoC;AAA3B,mGAAA,SAAS,OAAA;AAClB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,mCAAoC;AAA3B,mGAAA,SAAS,OAAA;AAClB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
package/mockNetwork.d.ts CHANGED
@@ -1,2 +1,10 @@
1
- export function mockNetwork(responses?: any[], debug?: boolean): void;
1
+ /// <reference types="jest" />
2
+ import { Response } from './models';
3
+ declare global {
4
+ interface Window {
5
+ fetch: jest.Mock;
6
+ }
7
+ }
8
+ declare const mockNetwork: (responses?: Response[], debug?: boolean) => void;
9
+ export { mockNetwork };
2
10
  //# sourceMappingURL=mockNetwork.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockNetwork.d.ts","sourceRoot":"","sources":["../src/mockNetwork.js"],"names":[],"mappings":"AA4CA,sEA4BC"}
1
+ {"version":3,"file":"mockNetwork.d.ts","sourceRoot":"","sources":["../src/mockNetwork.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAW,MAAM,UAAU,CAAA;AAG5C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAA;KACjB;CACF;AAkFD,QAAA,MAAM,WAAW,eAAe,QAAQ,EAAE,UAAc,OAAO,SAI9D,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
package/mockNetwork.js CHANGED
@@ -46,69 +46,79 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
49
52
  Object.defineProperty(exports, "__esModule", { value: true });
50
53
  exports.mockNetwork = void 0;
51
- var chalk_1 = require("chalk");
54
+ var chalk_1 = __importDefault(require("chalk"));
52
55
  var requestMatcher_1 = require("./requestMatcher");
53
56
  beforeEach(function () {
54
- global.fetch = jest.fn();
57
+ global.window.fetch = jest.fn();
55
58
  });
56
59
  afterEach(function () {
57
- global.fetch.mockRestore();
60
+ global.window.fetch.mockRestore();
58
61
  });
59
- var createResponse = function (_a) {
60
- var responseBody = _a.responseBody, _b = _a.status, status = _b === void 0 ? 200 : _b, headers = _a.headers, delay = _a.delay;
61
- return __awaiter(void 0, void 0, void 0, function () {
62
- var response;
63
- return __generator(this, function (_c) {
64
- response = {
65
- json: function () { return Promise.resolve(responseBody); },
66
- status: status,
67
- ok: status >= 200 && status <= 299,
68
- headers: new Headers(__assign({ 'Content-Type': 'application/json' }, headers)),
69
- };
70
- if (!delay)
71
- return [2 /*return*/, Promise.resolve(response)];
72
- return [2 /*return*/, new Promise(function (resolve) {
73
- return setTimeout(function () {
74
- return resolve(response);
75
- }, delay);
76
- })];
77
- });
62
+ var createDefaultResponse = function () { return __awaiter(void 0, void 0, void 0, function () {
63
+ var response;
64
+ return __generator(this, function (_a) {
65
+ response = {
66
+ json: function () { return Promise.resolve(); },
67
+ status: 200,
68
+ ok: true,
69
+ headers: new Headers({ 'Content-Type': 'application/json' }),
70
+ };
71
+ return [2 /*return*/, Promise.resolve(response)];
78
72
  });
79
- };
73
+ }); };
74
+ var createResponse = function (mockResponse) { return __awaiter(void 0, void 0, void 0, function () {
75
+ var responseBody, _a, status, headers, delay, response;
76
+ return __generator(this, function (_b) {
77
+ responseBody = mockResponse.responseBody, _a = mockResponse.status, status = _a === void 0 ? 200 : _a, headers = mockResponse.headers, delay = mockResponse.delay;
78
+ response = {
79
+ json: function () { return Promise.resolve(responseBody); },
80
+ status: status,
81
+ ok: status >= 200 && status <= 299,
82
+ headers: new Headers(__assign({ 'Content-Type': 'application/json' }, headers)),
83
+ };
84
+ if (!delay)
85
+ return [2 /*return*/, Promise.resolve(response)];
86
+ return [2 /*return*/, new Promise(function (resolve) {
87
+ return setTimeout(function () {
88
+ return resolve(response);
89
+ }, delay);
90
+ })];
91
+ });
92
+ }); };
80
93
  var printRequest = function (request) {
81
- return console.warn("\n" + chalk_1.white.bold.bgRed('wrapito') + " " + chalk_1.redBright.bold('cannot find any mock matching:') + "\n " + chalk_1.greenBright("URL: " + request.url) + "\n " + chalk_1.greenBright("METHOD: " + request.method.toLowerCase()) + "\n " + chalk_1.greenBright("REQUEST BODY: " + request._bodyInit) + "\n ");
94
+ return console.warn("\n" + chalk_1.default.white.bold.bgRed('wrapito') + " " + chalk_1.default.redBright.bold('cannot find any mock matching:') + "\n " + chalk_1.default.greenBright("URL: " + request.url) + "\n " + chalk_1.default.greenBright("METHOD: " + request.method.toLowerCase()) + "\n " + chalk_1.default.greenBright("REQUEST BODY: " + request._bodyInit) + "\n ");
82
95
  };
83
- function mockNetwork(responses, debug) {
84
- var _this = this;
96
+ var mockFetch = function (responses, request, debug) { return __awaiter(void 0, void 0, void 0, function () {
97
+ var responseMatchingRequest, multipleResponses, responseNotYetReturned;
98
+ return __generator(this, function (_a) {
99
+ responseMatchingRequest = responses.find(requestMatcher_1.getRequestMatcher(request));
100
+ if (!responseMatchingRequest) {
101
+ if (debug) {
102
+ printRequest(request);
103
+ }
104
+ return [2 /*return*/, createDefaultResponse()];
105
+ }
106
+ multipleResponses = responseMatchingRequest.multipleResponses;
107
+ if (!multipleResponses) {
108
+ return [2 /*return*/, createResponse(responseMatchingRequest)];
109
+ }
110
+ responseNotYetReturned = multipleResponses.find(function (response) { return !response.hasBeenReturned; });
111
+ if (!responseNotYetReturned)
112
+ return [2 /*return*/];
113
+ responseNotYetReturned.hasBeenReturned = true;
114
+ return [2 /*return*/, createResponse(responseNotYetReturned)];
115
+ });
116
+ }); };
117
+ var mockNetwork = function (responses, debug) {
85
118
  if (responses === void 0) { responses = []; }
86
119
  if (debug === void 0) { debug = false; }
87
- var listOfResponses = responses.length > 0 ? responses : [responses];
88
- global.fetch.mockImplementation(function (request) { return __awaiter(_this, void 0, void 0, function () {
89
- var responseMatchingRequest, multipleResponses, responseNotYetReturned;
90
- return __generator(this, function (_a) {
91
- responseMatchingRequest = listOfResponses.find(requestMatcher_1.getRequestMatcher(request));
92
- if (!responseMatchingRequest) {
93
- if (debug) {
94
- printRequest(request);
95
- }
96
- return [2 /*return*/, createResponse({})];
97
- }
98
- multipleResponses = responseMatchingRequest.multipleResponses;
99
- if (!multipleResponses) {
100
- return [2 /*return*/, createResponse(responseMatchingRequest)];
101
- }
102
- responseNotYetReturned = multipleResponses.find(function (_a) {
103
- var hasBeenReturned = _a.hasBeenReturned;
104
- return !hasBeenReturned;
105
- });
106
- if (!responseNotYetReturned)
107
- return [2 /*return*/];
108
- responseNotYetReturned.hasBeenReturned = true;
109
- return [2 /*return*/, createResponse(responseNotYetReturned)];
110
- });
111
- }); });
112
- }
120
+ var fetch = global.window.fetch;
121
+ fetch.mockImplementation(function (request) { return mockFetch(responses, request, debug); });
122
+ };
113
123
  exports.mockNetwork = mockNetwork;
114
124
  //# sourceMappingURL=mockNetwork.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockNetwork.js","sourceRoot":"","sources":["../src/mockNetwork.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAqD;AACrD,mDAAoD;AAEpD,UAAU,CAAC;IACT,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AAC1B,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC;IACR,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,IAAM,cAAc,GAAG,UAAO,EAK7B;QAJC,YAAY,kBAAA,EACZ,cAAY,EAAZ,MAAM,mBAAG,GAAG,KAAA,EACZ,OAAO,aAAA,EACP,KAAK,WAAA;;;;YAEC,QAAQ,GAAG;gBACf,IAAI,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAA7B,CAA6B;gBACzC,MAAM,QAAA;gBACN,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG;gBAClC,OAAO,EAAE,IAAI,OAAO,YAAG,cAAc,EAAE,kBAAkB,IAAK,OAAO,EAAG;aACzE,CAAA;YAED,IAAI,CAAC,KAAK;gBAAE,sBAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;YAE5C,sBAAO,IAAI,OAAO,CAAC,UAAA,OAAO;oBACxB,OAAA,UAAU,CAAC;wBACT,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;oBAC1B,CAAC,EAAE,KAAK,CAAC;gBAFT,CAES,CACV,EAAA;;;CACF,CAAA;AAED,IAAM,YAAY,GAAG,UAAA,OAAO;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,OACnB,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAM,iBAAS,CAAC,IAAI,CAChD,gCAAgC,CACjC,YACI,mBAAW,CAAC,UAAS,OAAO,CAAC,GAAM,CAAC,YACpC,mBAAW,CAAC,aAAY,OAAO,CAAC,MAAM,CAAC,WAAW,EAAK,CAAC,YACxD,mBAAW,CAAC,mBAAkB,OAAO,CAAC,SAAY,CAAC,QACtD,CAAC,CAAA;AACH,CAAC,CAAA;AAED,SAAS,WAAW,CAAC,SAAc,EAAE,KAAa;IAAlD,iBA4BC;IA5BoB,0BAAA,EAAA,cAAc;IAAE,sBAAA,EAAA,aAAa;IAChD,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACtE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAM,OAAO;;;YACrC,uBAAuB,GAAG,eAAe,CAAC,IAAI,CAClD,kCAAiB,CAAC,OAAO,CAAC,CAC3B,CAAA;YAED,IAAI,CAAC,uBAAuB,EAAE;gBAC5B,IAAI,KAAK,EAAE;oBACT,YAAY,CAAC,OAAO,CAAC,CAAA;iBACtB;gBAED,sBAAO,cAAc,CAAC,EAAE,CAAC,EAAA;aAC1B;YAEO,iBAAiB,GAAK,uBAAuB,kBAA5B,CAA4B;YACrD,IAAI,CAAC,iBAAiB,EAAE;gBACtB,sBAAO,cAAc,CAAC,uBAAuB,CAAC,EAAA;aAC/C;YAEK,sBAAsB,GAAG,iBAAiB,CAAC,IAAI,CACnD,UAAC,EAAmB;oBAAjB,eAAe,qBAAA;gBAAO,OAAA,CAAC,eAAe;YAAhB,CAAgB,CAC1C,CAAA;YACD,IAAI,CAAC,sBAAsB;gBAAE,sBAAM;YAEnC,sBAAsB,CAAC,eAAe,GAAG,IAAI,CAAA;YAC7C,sBAAO,cAAc,CAAC,sBAAsB,CAAC,EAAA;;SAC9C,CAAC,CAAA;AACJ,CAAC;AAEQ,kCAAW"}
1
+ {"version":3,"file":"mockNetwork.js","sourceRoot":"","sources":["../src/mockNetwork.ts"],"names":[],"mappings":"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"}
package/models.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ interface WrapRequest extends Request {
3
+ _bodyInit: string;
4
+ }
5
+ interface WrapResponse extends Response {
6
+ path: string;
7
+ method?: string;
8
+ host?: string;
9
+ responseBody?: object;
10
+ requestBody?: object;
11
+ multipleResponses?: WrapResponse[];
12
+ catchParams?: boolean;
13
+ delay?: number;
14
+ hasBeenReturned?: boolean;
15
+ }
16
+ interface Wrap {
17
+ withNetwork: (responses: WrapResponse[]) => Wrap;
18
+ atPath: (path: string) => Wrap;
19
+ withProps: (props: object) => Wrap;
20
+ debugRequests: () => Wrap;
21
+ mount: () => object;
22
+ }
23
+ interface WrapOptions {
24
+ Component: typeof React.Component;
25
+ responses: WrapResponse[];
26
+ props: object;
27
+ path: string;
28
+ hasPath: boolean;
29
+ debug: boolean;
30
+ }
31
+ interface WrapExtensionAPI {
32
+ addResponses: (responses: WrapResponse[]) => void;
33
+ }
34
+ declare type Extension = <T>(extensionAPI: WrapExtensionAPI, args: T) => Wrap;
35
+ declare type Extensions = {
36
+ [key: string]: Extension;
37
+ };
38
+ declare type Component = React.ReactElement<any, any>;
39
+ declare type Mount = (component: Component) => HTMLDivElement;
40
+ interface Config {
41
+ defaultHost: string;
42
+ mount: Mount;
43
+ extend: Extensions;
44
+ changeRoute: (path: string) => void;
45
+ history?: BrowserHistory;
46
+ portal?: string;
47
+ }
48
+ interface BrowserHistory extends History {
49
+ push: (path: string) => void;
50
+ }
51
+ export { WrapRequest as Request, WrapResponse as Response, Config, Mount, Component, BrowserHistory, Extension, Extensions, WrapExtensionAPI, Wrap, WrapOptions, };
52
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +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,EAAE,MAAM,CAAC;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,KAAK,IAAI,CAAA;IAC9B,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,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,aAAK,SAAS,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAErE,aAAK,UAAU,GAAG;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CAAA;AAED,aAAK,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAE7C,aAAK,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,KAAK,IAAI,CAAA;CAC7B;AAED,OAAO,EACL,WAAW,IAAI,OAAO,EACtB,YAAY,IAAI,QAAQ,EACxB,MAAM,EACN,KAAK,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,IAAI,EACJ,WAAW,GACZ,CAAA"}
package/models.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=models.js.map
package/models.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":""}
package/options.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { WrapOptions } from "./models";
2
+ declare let options: WrapOptions;
3
+ declare const updateOptions: (updatedOptions: WrapOptions) => void;
4
+ declare const getOptions: () => WrapOptions;
5
+ export { options, updateOptions, getOptions };
6
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,QAAA,IAAI,OAAO,EAAE,WAAW,CAAA;AAExB,QAAA,MAAM,aAAa,mBAAoB,WAAW,SAKjD,CAAA;AAED,QAAA,MAAM,UAAU,QAAQ,WAA+B,CAAA;AAEvD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAA"}
package/options.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.getOptions = exports.updateOptions = exports.options = void 0;
15
+ var options;
16
+ exports.options = options;
17
+ var updateOptions = function (updatedOptions) {
18
+ exports.options = options = __assign(__assign({}, options), updatedOptions);
19
+ };
20
+ exports.updateOptions = updateOptions;
21
+ var getOptions = function () { return (__assign({}, options)); };
22
+ exports.getOptions = getOptions;
23
+ //# sourceMappingURL=options.js.map
package/options.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,IAAI,OAAoB,CAAA;AAWf,0BAAO;AAThB,IAAM,aAAa,GAAG,UAAC,cAA2B;IAChD,kBAAA,OAAO,yBACF,OAAO,GACP,cAAc,CAClB,CAAA;AACH,CAAC,CAAA;AAIiB,sCAAa;AAF/B,IAAM,UAAU,GAAG,cAAoB,OAAA,cAAM,OAAO,EAAG,EAAhB,CAAgB,CAAA;AAEtB,gCAAU"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "wrapito",
3
- "version": "8.1.0",
3
+ "version": "9.1.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
+ "license": "MIT",
6
7
  "scripts": {
7
8
  "test": "jest --ci --coverage --config config/jest.config.json",
8
9
  "test:watch": "jest --watch --config config/jest.config.json",
@@ -36,7 +37,6 @@
36
37
  },
37
38
  "homepage": "https://github.com/mercadona/wrapito#readme",
38
39
  "dependencies": {
39
- "@types/react": "^17.0.11",
40
40
  "deep-equal": "^1.0.1",
41
41
  "object-hash": "^2.1.1",
42
42
  "whatwg-fetch": "^3.5.0"
@@ -50,7 +50,9 @@
50
50
  "@babel/preset-react": "^7.10.4",
51
51
  "@testing-library/jest-dom": "^4.2.0",
52
52
  "@testing-library/react": "^9.3.0",
53
+ "@types/history": "^4.7.9",
53
54
  "@types/jest": "^26.0.23",
55
+ "@types/react": "^17.0.16",
54
56
  "babel-jest": "^24.8.0",
55
57
  "jest": "^27.0.4",
56
58
  "jest-junit": "^6.4.0",
package/wrap.d.ts CHANGED
@@ -1,8 +1,5 @@
1
- export function wrap(Component: any): {
2
- withProps: (props: any) => any;
3
- withNetwork: (responses?: any[]) => any;
4
- atPath: (path: any) => any;
5
- debugRequests: () => any;
6
- mount: () => any;
7
- };
1
+ import React from 'react';
2
+ import { Wrap } from './models';
3
+ declare const wrap: (Component: typeof React.Component) => Wrap;
4
+ export { wrap };
8
5
  //# sourceMappingURL=wrap.d.ts.map
package/wrap.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.js"],"names":[],"mappings":"AAaA;;;;;;EAWC"}
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAEL,IAAI,EAIL,MAAM,UAAU,CAAA;AAWjB,QAAA,MAAM,IAAI,yCAAwC,IAWjD,CAAA;AAoHD,OAAO,EAAE,IAAI,EAAE,CAAA"}
package/wrap.js CHANGED
@@ -20,82 +20,96 @@ exports.wrap = void 0;
20
20
  var jsx_runtime_1 = require("react/jsx-runtime");
21
21
  var mockNetwork_1 = require("./mockNetwork");
22
22
  var config_1 = require("./config");
23
+ var options_1 = require("./options");
23
24
  beforeEach(function () {
24
25
  global.fetch = jest.fn();
25
26
  });
26
27
  afterEach(function () {
27
- global.fetch.mockRestore();
28
+ var mockedFetch = global.fetch;
29
+ mockedFetch.mockRestore();
28
30
  });
29
31
  var wrap = function (Component) {
30
- var options = {
32
+ options_1.updateOptions({
31
33
  Component: Component,
32
34
  responses: [],
33
35
  props: {},
34
36
  path: '',
35
37
  hasPath: false,
36
- debug: false,
37
- };
38
- return wrapWith(options);
38
+ debug: process.env.npm_config_debugRequests === 'true',
39
+ });
40
+ return wrapWith();
39
41
  };
40
42
  exports.wrap = wrap;
41
- var wrapWith = function (options) {
42
- var _a = config_1.getConfig(), extend = _a.extend, portal = _a.portal, history = _a.history, mount = _a.mount;
43
- var extensions = extendWith(extend, options);
44
- return __assign({ withProps: getWithProps(options), withNetwork: getWithNetwork(options), atPath: getAtPath(options), debugRequests: getDebugRequest(options), mount: getMount(options, portal, history, mount) }, extensions);
43
+ var wrapWith = function () {
44
+ var extensions = extendWith();
45
+ return __assign({ withProps: withProps, withNetwork: withNetwork, atPath: atPath, debugRequests: debugRequests, mount: getMount }, extensions);
45
46
  };
46
- var extendWith = function (extensions, options) {
47
- if (!extensions)
48
- return {};
49
- return Object.keys(extensions).reduce(function (alreadyExtended, nextExtension) {
50
- var _a;
51
- return (__assign(__assign({}, alreadyExtended), (_a = {}, _a[nextExtension] = function () {
52
- var args = [];
53
- for (var _i = 0; _i < arguments.length; _i++) {
54
- args[_i] = arguments[_i];
55
- }
56
- extensions[nextExtension]({
57
- addResponses: function (responses) {
58
- if (responses === void 0) { responses = []; }
59
- var responsesToAdd = Array.isArray(responses)
60
- ? responses
61
- : [responses];
62
- options.responses = __spreadArray(__spreadArray([], options.responses), responsesToAdd);
63
- },
64
- }, args);
65
- return wrapWith(options);
66
- }, _a)));
67
- }, {});
47
+ 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 }));
68
51
  };
69
- var getWithProps = function (options) { return function (props) {
70
- return wrapWith(__assign(__assign({}, options), { props: props }));
71
- }; };
72
- var getWithNetwork = function (options) {
73
- return function (responses) {
74
- if (responses === void 0) { responses = []; }
75
- var listOfResponses = Array.isArray(responses) ? responses : [responses];
76
- return wrapWith(__assign(__assign({}, options), { responses: __spreadArray(__spreadArray([], options.responses), listOfResponses) }));
77
- };
52
+ var applyExtension = function (args, extension) {
53
+ var wrapExtensionAPI = { addResponses: addResponses };
54
+ extension(wrapExtensionAPI, args);
55
+ return wrapWith();
56
+ };
57
+ var buildExtensions = function (alreadyExtended, extensionName) {
58
+ var _a;
59
+ var extensions = config_1.getConfig().extend;
60
+ var extension = extensions[extensionName];
61
+ return __assign(__assign({}, alreadyExtended), (_a = {}, _a[extensionName] = function () {
62
+ var args = [];
63
+ for (var _i = 0; _i < arguments.length; _i++) {
64
+ args[_i] = arguments[_i];
65
+ }
66
+ return applyExtension(args, extension);
67
+ }, _a));
68
+ };
69
+ var extendWith = function () {
70
+ var extensions = config_1.getConfig().extend;
71
+ var extensionNames = Object.keys(extensions);
72
+ return extensionNames.reduce(buildExtensions, {});
78
73
  };
79
- var getAtPath = function (options) { return function (path) {
80
- return wrapWith(__assign(__assign({}, options), { path: path, hasPath: true }));
81
- }; };
82
- var getDebugRequest = function (options) { return function () {
83
- return wrapWith(__assign(__assign({}, options), { debug: true }));
84
- }; };
85
- var getMount = function (options, portal, history, mount) { return function () {
86
- var Component = options.Component, props = options.props, responses = options.responses, path = options.path, hasPath = options.hasPath, debug = options.debug;
74
+ var withProps = function (props) {
75
+ var options = options_1.getOptions();
76
+ options_1.updateOptions(__assign(__assign({}, options), { props: props }));
77
+ return wrapWith();
78
+ };
79
+ var withNetwork = function (responses) {
80
+ if (responses === void 0) { responses = []; }
81
+ var options = options_1.getOptions();
82
+ var listOfResponses = Array.isArray(responses) ? responses : [responses];
83
+ options_1.updateOptions(__assign(__assign({}, options), { responses: __spreadArray(__spreadArray([], options.responses), listOfResponses) }));
84
+ return wrapWith();
85
+ };
86
+ var atPath = function (path) {
87
+ var options = options_1.getOptions();
88
+ options_1.updateOptions(__assign(__assign({}, options), { path: path, hasPath: true }));
89
+ return wrapWith();
90
+ };
91
+ var debugRequests = function () {
92
+ var options = options_1.getOptions();
93
+ options_1.updateOptions(__assign(__assign({}, options), { debug: true }));
94
+ return wrapWith();
95
+ };
96
+ 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;
87
99
  if (portal) {
88
100
  setupPortal(portal);
89
101
  }
90
102
  if (hasPath && history) {
103
+ console.warn('wrapito WARNING: history is DEPRECATED. Pass a changeRoute function to the config instead.');
104
+ console.warn('Read about changeRoute in: https://github.com/mercadona/wrapito#changeRoute');
91
105
  history.push(path);
92
106
  }
93
107
  if (hasPath && !history) {
94
- window.history.replaceState(null, null, path);
108
+ changeRoute(path);
95
109
  }
96
110
  mockNetwork_1.mockNetwork(responses, debug);
97
111
  return mount(jsx_runtime_1.jsx(Component, __assign({}, props), void 0));
98
- }; };
112
+ };
99
113
  var setupPortal = function (portalRootId) {
100
114
  if (document.getElementById(portalRootId)) {
101
115
  return;
package/wrap.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"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"}