wrapito 9.0.1 → 9.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"AAqCA;;;;;;EA0BC;AAED;;;EAGC;AAED;;;;;;EAKC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/assertions/fetch.js"],"names":[],"mappings":"AAmDA;;;;;;EA0BC;AAED;;;EAGC;AAED;;;;;;EAKC"}
@@ -5,9 +5,21 @@ 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 config_1 = require("../config");
8
9
  var messages_1 = require("./messages");
9
- var findRequestsByPath = function (path) {
10
- return fetch.mock.calls.filter(function (call) { return call[0].url.includes(path); });
10
+ var findRequestsByPath = function (expectedPath) {
11
+ return fetch.mock.calls.filter(function (call) {
12
+ var defaultHost = config_1.getConfig().defaultHost;
13
+ var callURL = new URL(call[0].url, "https://default.com");
14
+ var finalExpectedPath = expectedPath.includes(defaultHost) ? expectedPath : defaultHost + expectedPath;
15
+ var expectedURL = new URL(finalExpectedPath, "https://default.com");
16
+ var matchPathName = callURL.pathname === expectedURL.pathname;
17
+ var matchSearchParams = callURL.search === expectedURL.search;
18
+ if (expectedURL.search) {
19
+ return matchPathName && matchSearchParams;
20
+ }
21
+ return matchPathName;
22
+ });
11
23
  };
12
24
  var getRequestsMethods = function (requests) {
13
25
  return requests.map(function (request) { var _a; return (_a = request[0]) === null || _a === void 0 ? void 0 : _a.method; });
@@ -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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"}
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 CHANGED
@@ -1,17 +1,20 @@
1
1
  import React from 'react';
2
- interface Response {
2
+ interface WrapRequest extends Request {
3
+ _bodyInit: string;
4
+ }
5
+ interface WrapResponse extends Response {
3
6
  path: string;
4
7
  method?: string;
5
- status?: number;
6
8
  host?: string;
7
9
  responseBody?: object;
8
10
  requestBody?: object;
9
- multipleResponses?: Response[];
11
+ multipleResponses?: WrapResponse[];
10
12
  catchParams?: boolean;
11
13
  delay?: number;
14
+ hasBeenReturned?: boolean;
12
15
  }
13
16
  interface Wrap {
14
- withNetwork: (responses: Response[]) => Wrap;
17
+ withNetwork: (responses: WrapResponse[]) => Wrap;
15
18
  atPath: (path: string) => Wrap;
16
19
  withProps: (props: object) => Wrap;
17
20
  debugRequests: () => Wrap;
@@ -19,14 +22,14 @@ interface Wrap {
19
22
  }
20
23
  interface WrapOptions {
21
24
  Component: typeof React.Component;
22
- responses: Response[];
25
+ responses: WrapResponse[];
23
26
  props: object;
24
27
  path: string;
25
28
  hasPath: boolean;
26
29
  debug: boolean;
27
30
  }
28
31
  interface WrapExtensionAPI {
29
- addResponses: () => void;
32
+ addResponses: (responses: WrapResponse[]) => void;
30
33
  }
31
34
  declare type Extension = <T>(extensionAPI: WrapExtensionAPI, args: T) => Wrap;
32
35
  declare type Extensions = {
@@ -45,5 +48,5 @@ interface Config {
45
48
  interface BrowserHistory extends History {
46
49
  push: (path: string) => void;
47
50
  }
48
- export { Wrap, WrapOptions, Response, Config, Mount, Component, BrowserHistory };
51
+ export { WrapRequest as Request, WrapResponse as Response, Config, Mount, Component, BrowserHistory, Extension, Extensions, WrapExtensionAPI, Wrap, WrapOptions, };
49
52
  //# sourceMappingURL=models.d.ts.map
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,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,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,QAAQ,EAAE,CAAA;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,IAAI;IACZ,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;IAC5C,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,QAAQ,EAAE,CAAA;IACrB,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,MAAM,IAAI,CAAA;CACzB;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,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA"}
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/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,6 +1,6 @@
1
1
  {
2
2
  "name": "wrapito",
3
- "version": "9.0.1",
3
+ "version": "9.1.2",
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",
package/wrap.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAA4B,IAAI,EAAe,MAAM,UAAU,CAAA;AAWtE,QAAA,MAAM,IAAI,yCAAwC,IAWjD,CAAA;AA0GD,OAAO,EAAE,IAAI,EAAE,CAAA"}
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,6 +20,7 @@ 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
  });
@@ -28,79 +29,86 @@ afterEach(function () {
28
29
  mockedFetch.mockRestore();
29
30
  });
30
31
  var wrap = function (Component) {
31
- var options = {
32
+ options_1.updateOptions({
32
33
  Component: Component,
33
34
  responses: [],
34
35
  props: {},
35
36
  path: '',
36
37
  hasPath: false,
37
- debug: false,
38
- };
39
- return wrapWith(options);
38
+ debug: process.env.npm_config_debugRequests === 'true',
39
+ });
40
+ return wrapWith();
40
41
  };
41
42
  exports.wrap = wrap;
42
- var wrapWith = function (options) {
43
- var _a = config_1.getConfig(), extend = _a.extend, portal = _a.portal, changeRoute = _a.changeRoute, history = _a.history, mount = _a.mount;
44
- var extensions = extendWith(extend, options);
45
- return __assign({ withProps: getWithProps(options), withNetwork: getWithNetwork(options), atPath: getAtPath(options), debugRequests: getDebugRequest(options), mount: getMount(options, mount, changeRoute, history, portal) }, extensions);
43
+ var wrapWith = function () {
44
+ var extensions = extendWith();
45
+ return __assign({ withProps: withProps, withNetwork: withNetwork, atPath: atPath, debugRequests: debugRequests, mount: getMount }, extensions);
46
46
  };
47
- //@ts-ignore
48
- var extendWith = function (extensions, options) {
49
- if (!extensions)
50
- return {};
51
- return Object.keys(extensions).reduce(function (alreadyExtended, nextExtension) {
52
- var _a;
53
- return (__assign(__assign({}, alreadyExtended), (_a = {}, _a[nextExtension] = function () {
54
- var args = [];
55
- for (var _i = 0; _i < arguments.length; _i++) {
56
- args[_i] = arguments[_i];
57
- }
58
- extensions[nextExtension]({
59
- addResponses: function (responses) {
60
- if (responses === void 0) { responses = []; }
61
- var responsesToAdd = Array.isArray(responses)
62
- ? responses
63
- : [responses];
64
- options.responses = __spreadArray(__spreadArray([], options.responses), responsesToAdd);
65
- },
66
- }, args);
67
- return wrapWith(options);
68
- }, _a)));
69
- }, {});
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 }));
70
51
  };
71
- var getWithProps = function (options) { return function (props) {
72
- return wrapWith(__assign(__assign({}, options), { props: props }));
73
- }; };
74
- var getWithNetwork = function (options) {
75
- return function (responses) {
76
- if (responses === void 0) { responses = []; }
77
- var listOfResponses = Array.isArray(responses) ? responses : [responses];
78
- return wrapWith(__assign(__assign({}, options), { responses: __spreadArray(__spreadArray([], options.responses), listOfResponses) }));
79
- };
52
+ var applyExtension = function (args, extension) {
53
+ var wrapExtensionAPI = { addResponses: addResponses };
54
+ extension(wrapExtensionAPI, args);
55
+ return wrapWith();
80
56
  };
81
- var getAtPath = function (options) { return function (path) {
82
- return wrapWith(__assign(__assign({}, options), { path: path, hasPath: true }));
83
- }; };
84
- var getDebugRequest = function (options) { return function () {
85
- return wrapWith(__assign(__assign({}, options), { debug: true }));
86
- }; };
87
- var getMount = function (options, mount, changeRoute, history, portal) {
88
- return function () {
89
- var Component = options.Component, props = options.props, responses = options.responses, path = options.path, hasPath = options.hasPath, debug = options.debug;
90
- if (portal) {
91
- setupPortal(portal);
92
- }
93
- if (hasPath && history) {
94
- console.warn('wrapito WARNING: history is DEPRECATED. Pass a changeRoute function to the config instead.');
95
- console.warn('Read about changeRounte in: https://github.com/mercadona/wrapito#changeRoute');
96
- history.push(path);
97
- }
98
- if (hasPath && !history) {
99
- changeRoute(path);
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];
100
65
  }
101
- mockNetwork_1.mockNetwork(responses, debug);
102
- return mount(jsx_runtime_1.jsx(Component, __assign({}, props), void 0));
103
- };
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, {});
73
+ };
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;
99
+ if (portal) {
100
+ setupPortal(portal);
101
+ }
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');
105
+ history.push(path);
106
+ }
107
+ if (hasPath && !history) {
108
+ changeRoute(path);
109
+ }
110
+ mockNetwork_1.mockNetwork(responses, debug);
111
+ return mount(jsx_runtime_1.jsx(Component, __assign({}, props), void 0));
104
112
  };
105
113
  var setupPortal = function (portalRootId) {
106
114
  if (document.getElementById(portalRootId)) {
package/wrap.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.tsx"],"names":[],"mappings":"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"}