@leaflink/dom-testing-utils 3.0.1 → 4.0.1
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
|
@@ -253,9 +253,9 @@ or you can customize the response
|
|
|
253
253
|
```ts
|
|
254
254
|
mockGetEndpoint('/relative-url', (req, res, ctx) => {
|
|
255
255
|
if (someConditional()) {
|
|
256
|
-
|
|
256
|
+
HttpResponse.json({ foo: 'bar' });
|
|
257
257
|
} else {
|
|
258
|
-
|
|
258
|
+
HttpResponse.json({ foo: 'baz' });
|
|
259
259
|
}
|
|
260
260
|
});
|
|
261
261
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFixtureGenerator.js","sourceRoot":"src/","sources":["utils/createFixtureGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAI,SAAwC;IAKxF,SAAS,UAAU,CAAC,MAA2B,CAAC,EAAE,SAAS,GAAG,EAAE;QAC9D,+DAA+D;QAC/D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"createFixtureGenerator.js","sourceRoot":"src/","sources":["utils/createFixtureGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAI,SAAwC;IAKxF,SAAS,UAAU,CAAC,MAA2B,CAAC,EAAE,SAAS,GAAG,EAAE;QAC9D,+DAA+D;QAC/D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;SACvB;aAAM,IAAI,GAAG,KAAK,CAAC,EAAE;YACpB,wGAAwG;YACxG,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;SAC7B;aAAM;YACL,gEAAgE;YAChE,yCAAyC;YACzC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;SACtE;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { type DefaultBodyType, http, type PathParams, type RequestHandlerOptions, type ResponseResolver } from 'msw';
|
|
2
|
+
import { type HttpRequestResolverExtras } from 'msw/lib/core/handlers/HttpHandler';
|
|
3
|
+
import { SetupServer } from 'msw/node';
|
|
4
|
+
export type RestMethod = keyof typeof http;
|
|
5
|
+
export default function createMockApiUtils(server: SetupServer): {
|
|
6
|
+
mockEndpointData: <ResponseBody extends DefaultBodyType = undefined>(url: string, responseData: ResponseBody, method: RestMethod, options?: RequestHandlerOptions) => void;
|
|
7
|
+
mockEndpoint: <Params extends PathParams<keyof Params> = PathParams, RequestBodyType extends DefaultBodyType = DefaultBodyType, ResponseBodyType extends DefaultBodyType = undefined>(relativeUrl: string, resolver: ResponseResolver<HttpRequestResolverExtras<Params>, RequestBodyType, ResponseBodyType>, method: RestMethod, options?: RequestHandlerOptions) => void;
|
|
8
|
+
mockGetData: (url: string, responseData: any, options?: RequestHandlerOptions) => void;
|
|
9
|
+
mockPostData: (url: string, responseData: any, options?: RequestHandlerOptions) => void;
|
|
10
|
+
mockPutData: (url: string, responseData: any, options?: RequestHandlerOptions) => void;
|
|
11
|
+
mockDeleteData: (url: string, responseData: any, options?: RequestHandlerOptions) => void;
|
|
12
|
+
mockPatchData: (url: string, responseData: any, options?: RequestHandlerOptions) => void;
|
|
13
|
+
mockGetEndpoint: (url: string, resolver: ResponseResolver<HttpRequestResolverExtras<PathParams>, DefaultBodyType, undefined>, options?: RequestHandlerOptions) => void;
|
|
14
|
+
mockPostEndpoint: (url: string, resolver: ResponseResolver<HttpRequestResolverExtras<PathParams>, DefaultBodyType, undefined>, options?: RequestHandlerOptions) => void;
|
|
15
|
+
mockPutEndpoint: (url: string, resolver: ResponseResolver<HttpRequestResolverExtras<PathParams>, DefaultBodyType, undefined>, options?: RequestHandlerOptions) => void;
|
|
16
|
+
mockDeleteEndpoint: (url: string, resolver: ResponseResolver<HttpRequestResolverExtras<PathParams>, DefaultBodyType, undefined>, options?: RequestHandlerOptions) => void;
|
|
17
|
+
mockPatchEndpoint: (url: string, resolver: ResponseResolver<HttpRequestResolverExtras<PathParams>, DefaultBodyType, undefined>, options?: RequestHandlerOptions) => void;
|
|
17
18
|
};
|
|
@@ -1,58 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { http, HttpResponse, } from 'msw';
|
|
2
2
|
export default function createMockApiUtils(server) {
|
|
3
3
|
/**
|
|
4
4
|
* Mock endpoint with data
|
|
5
5
|
*/
|
|
6
|
-
const mockEndpointData = (
|
|
7
|
-
server.use(
|
|
8
|
-
return res(ctx.json(responseData));
|
|
9
|
-
}));
|
|
6
|
+
const mockEndpointData = (url, responseData, method, options) => {
|
|
7
|
+
server.use(http[method](url, () => HttpResponse.json(responseData), options));
|
|
10
8
|
};
|
|
11
9
|
/**
|
|
12
10
|
* Mock endpoint with a callback function
|
|
13
11
|
*/
|
|
14
|
-
const mockEndpoint = (relativeUrl,
|
|
15
|
-
server.use(
|
|
12
|
+
const mockEndpoint = (relativeUrl, resolver, method, options) => {
|
|
13
|
+
server.use(http[method](relativeUrl, resolver, options));
|
|
16
14
|
};
|
|
17
15
|
/**
|
|
18
16
|
* Creates a function to mock an endpoint with data for a particular HTTP verb
|
|
19
17
|
* @param method - the verb to target this endpoint for
|
|
20
18
|
*/
|
|
21
|
-
const createDataHelper = (method) => (
|
|
22
|
-
return mockEndpointData(
|
|
19
|
+
const createDataHelper = (method) => (url, responseData, options) => {
|
|
20
|
+
return mockEndpointData(url, responseData, method, options);
|
|
23
21
|
};
|
|
24
22
|
/**
|
|
25
23
|
* Creates a function to mock an endpoint with a callback function for a particular HTTP verb
|
|
26
24
|
* @param method - the verb to target this endpoint for
|
|
27
25
|
*/
|
|
28
|
-
const createEndpointHelper = (method) => (
|
|
29
|
-
return mockEndpoint(
|
|
26
|
+
const createEndpointHelper = (method) => (url, resolver, options) => {
|
|
27
|
+
return mockEndpoint(url, resolver, method, options);
|
|
30
28
|
};
|
|
31
|
-
// #region Shortcut Functions
|
|
32
|
-
const mockGetData = createDataHelper('get');
|
|
33
|
-
const mockPostData = createDataHelper('post');
|
|
34
|
-
const mockPutData = createDataHelper('put');
|
|
35
|
-
const mockDeleteData = createDataHelper('delete');
|
|
36
|
-
const mockPatchData = createDataHelper('patch');
|
|
37
|
-
const mockGetEndpoint = createEndpointHelper('get');
|
|
38
|
-
const mockPostEndpoint = createEndpointHelper('post');
|
|
39
|
-
const mockPutEndpoint = createEndpointHelper('put');
|
|
40
|
-
const mockDeleteEndpoint = createEndpointHelper('delete');
|
|
41
|
-
const mockPatchEndpoint = createEndpointHelper('patch');
|
|
42
|
-
// #endregion
|
|
43
29
|
return {
|
|
44
30
|
mockEndpointData,
|
|
45
31
|
mockEndpoint,
|
|
46
|
-
mockGetData,
|
|
47
|
-
mockPostData,
|
|
48
|
-
mockPutData,
|
|
49
|
-
mockDeleteData,
|
|
50
|
-
mockPatchData,
|
|
51
|
-
mockGetEndpoint,
|
|
52
|
-
mockPostEndpoint,
|
|
53
|
-
mockPutEndpoint,
|
|
54
|
-
mockDeleteEndpoint,
|
|
55
|
-
mockPatchEndpoint,
|
|
32
|
+
mockGetData: createDataHelper('get'),
|
|
33
|
+
mockPostData: createDataHelper('post'),
|
|
34
|
+
mockPutData: createDataHelper('put'),
|
|
35
|
+
mockDeleteData: createDataHelper('delete'),
|
|
36
|
+
mockPatchData: createDataHelper('patch'),
|
|
37
|
+
mockGetEndpoint: createEndpointHelper('get'),
|
|
38
|
+
mockPostEndpoint: createEndpointHelper('post'),
|
|
39
|
+
mockPutEndpoint: createEndpointHelper('put'),
|
|
40
|
+
mockDeleteEndpoint: createEndpointHelper('delete'),
|
|
41
|
+
mockPatchEndpoint: createEndpointHelper('patch'),
|
|
56
42
|
};
|
|
57
43
|
}
|
|
58
44
|
//# sourceMappingURL=mockEndpoints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockEndpoints.js","sourceRoot":"src/","sources":["utils/mockEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mockEndpoints.js","sourceRoot":"src/","sources":["utils/mockEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EACJ,YAAY,GAIb,MAAM,KAAK,CAAC;AAMb,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,MAAmB;IAC5D;;OAEG;IACH,MAAM,gBAAgB,GAAG,CACvB,GAAW,EACX,YAA0B,EAC1B,MAAkB,EAClB,OAA+B,EAC/B,EAAE;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,YAAY,GAAG,CAKnB,WAAmB,EACnB,QAAgG,EAChG,MAAkB,EAClB,OAA+B,EAC/B,EAAE;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,gBAAgB,GAAG,CAAC,MAAkB,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,YAAY,EAAE,OAA+B,EAAE,EAAE;QAC9G,OAAO,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,oBAAoB,GACxB,CAKE,MAAkB,EAClB,EAAE,CACJ,CACE,GAAW,EACX,QAAgG,EAChG,OAA+B,EAC/B,EAAE;QACF,OAAO,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC;IAEJ,OAAO;QACL,gBAAgB;QAChB,YAAY;QACZ,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC;QACpC,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACtC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC;QACpC,cAAc,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QAC1C,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC;QACxC,eAAe,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAC5C,gBAAgB,EAAE,oBAAoB,CAAC,MAAM,CAAC;QAC9C,eAAe,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAC5C,kBAAkB,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QAClD,iBAAiB,EAAE,oBAAoB,CAAC,OAAO,CAAC;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForLoading.js","sourceRoot":"src/","sources":["utils/waitForLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAgB/B;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,EAC5B,MAAM,GAAG,0CAA0C,EACnD,OAAO,GAAG,IAAI,EACd,UAAU,GAAG,KAAK,MACI,EAAE;IACxB,MAAM,QAAQ,EAAE,CAAC,CAAC,6CAA6C;IAE/D,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"waitForLoading.js","sourceRoot":"src/","sources":["utils/waitForLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAgB/B;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,EAC5B,MAAM,GAAG,0CAA0C,EACnD,OAAO,GAAG,IAAI,EACd,UAAU,GAAG,KAAK,MACI,EAAE;IACxB,MAAM,QAAQ,EAAE,CAAC,CAAC,6CAA6C;IAE/D,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7D,OAAO,yBAAyB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;KAC3F;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,eAAe,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leaflink/dom-testing-utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"description": "Frontend DOM testing utilities",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@testing-library/jest-dom": "^6.1.3",
|
|
44
44
|
"@testing-library/user-event": "^14.5.1",
|
|
45
45
|
"@testing-library/vue": "^7.0.0",
|
|
46
|
-
"msw": "^0.
|
|
46
|
+
"msw": "^2.0.8"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@vitest/coverage-v8": "^0.34.5",
|