@skuba-lib/vitest-koa-mocks 2.0.0-vitest-koa-mocks-20251204033835 → 2.0.0-vitest-koa-mocks-20251204040851
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/createMockContext/createMockContext.d.ts +1 -1
- package/lib/createMockContext/createMockContext.js +13 -19
- package/lib/createMockContext/createMockContext.js.map +1 -1
- package/lib/createMockCookies/createMockCookies.d.ts +1 -1
- package/lib/createMockCookies/createMockCookies.js +5 -8
- package/lib/createMockCookies/createMockCookies.js.map +1 -1
- package/lib/index.js +2 -18
- package/lib/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -26,4 +26,4 @@ export interface Options<CustomProperties extends object, RequestBody = undefine
|
|
|
26
26
|
redirect?: ((url: string) => void) | ReturnType<typeof vi.fn>;
|
|
27
27
|
customProperties?: CustomProperties;
|
|
28
28
|
}
|
|
29
|
-
export
|
|
29
|
+
export declare const createMockContext: <CustomProperties extends object, RequestBody = undefined>(options?: Options<CustomProperties, RequestBody>) => MockContext;
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const node_mocks_http_1 = __importDefault(require("node-mocks-http"));
|
|
10
|
-
const vitest_1 = require("vitest");
|
|
11
|
-
const createMockCookies_js_1 = __importDefault(require("../createMockCookies/createMockCookies.js"));
|
|
12
|
-
function createContext(options = {}) {
|
|
13
|
-
const app = new koa_1.default();
|
|
14
|
-
const { cookies, method, statusCode, session, requestBody, rawBody = '', url = '/', host = 'test.com', encrypted = false, throw: throwFn = vitest_1.vi.fn(), redirect = vitest_1.vi.fn(), headers = {}, state = {}, customProperties = {}, } = options;
|
|
1
|
+
import stream from 'stream';
|
|
2
|
+
import Koa from 'koa';
|
|
3
|
+
import httpMocks from 'node-mocks-http';
|
|
4
|
+
import { vi } from 'vitest';
|
|
5
|
+
import { createMockCookies, } from '../createMockCookies/createMockCookies.js';
|
|
6
|
+
export const createMockContext = (options = {}) => {
|
|
7
|
+
const app = new Koa();
|
|
8
|
+
const { cookies, method, statusCode, session, requestBody, rawBody = '', url = '/', host = 'test.com', encrypted = false, throw: throwFn = vi.fn(), redirect = vi.fn(), headers = {}, state = {}, customProperties = {}, } = options;
|
|
15
9
|
const extensions = {
|
|
16
10
|
...customProperties,
|
|
17
11
|
throw: throwFn,
|
|
@@ -28,26 +22,26 @@ function createContext(options = {}) {
|
|
|
28
22
|
if (!hasOriginHeader) {
|
|
29
23
|
requestHeaders.Origin = `${protocol}://${host}`;
|
|
30
24
|
}
|
|
31
|
-
const req =
|
|
25
|
+
const req = httpMocks.createRequest({
|
|
32
26
|
url,
|
|
33
27
|
method,
|
|
34
28
|
statusCode,
|
|
35
29
|
session,
|
|
36
30
|
headers: requestHeaders,
|
|
37
31
|
});
|
|
38
|
-
req.socket = new
|
|
32
|
+
req.socket = new stream.Duplex();
|
|
39
33
|
Object.defineProperty(req.socket, 'encrypted', {
|
|
40
34
|
writable: false,
|
|
41
35
|
value: encrypted,
|
|
42
36
|
});
|
|
43
|
-
const res =
|
|
37
|
+
const res = httpMocks.createResponse();
|
|
44
38
|
res.statusCode = 404;
|
|
45
39
|
res.set = undefined;
|
|
46
40
|
const context = app.createContext(req, res);
|
|
47
41
|
Object.assign(context, extensions);
|
|
48
|
-
context.cookies = (
|
|
42
|
+
context.cookies = createMockCookies(cookies);
|
|
49
43
|
context.request.body = requestBody;
|
|
50
44
|
context.request.rawBody = rawBody;
|
|
51
45
|
return context;
|
|
52
|
-
}
|
|
46
|
+
};
|
|
53
47
|
//# sourceMappingURL=createMockContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMockContext.js","sourceRoot":"","sources":["../../src/createMockContext/createMockContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createMockContext.js","sourceRoot":"","sources":["../../src/createMockContext/createMockContext.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,GAAqB,MAAM,KAAK,CAAC;AACxC,OAAO,SAAiC,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAEL,iBAAiB,GAClB,MAAM,2CAA2C,CAAC;AAiCnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAI/B,UAAkD,EAAE,EACpD,EAAE;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAEtB,MAAM,EACJ,OAAO,EACP,MAAM,EACN,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO,GAAG,EAAE,EACZ,GAAG,GAAG,GAAG,EACT,IAAI,GAAG,UAAU,EACjB,SAAS,GAAG,KAAK,EACjB,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,EACxB,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,EAClB,OAAO,GAAG,EAAE,EACZ,KAAK,GAAG,EAAE,EACV,gBAAgB,GAAG,EAAE,GACtB,GAAG,OAAO,CAAC;IAEZ,MAAM,UAAU,GAAG;QACjB,GAAG,gBAAgB;QACnB,KAAK,EAAE,OAAO;QACd,OAAO;QACP,QAAQ;QACR,KAAK;KACN,CAAC;IAIF,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,cAAc,GAA2B;QAE7C,IAAI,EAAE,IAAI;QACV,GAAG,OAAO;KACX,CAAC;IAGF,MAAM,eAAe,GACnB,QAAQ,IAAI,cAAc,IAAI,QAAQ,IAAI,cAAc,CAAC;IAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,cAAc,CAAC,MAAM,GAAG,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC;QAClC,GAAG;QACH,MAAM;QACN,UAAU;QACV,OAAO;QACP,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAKH,GAAG,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAS,CAAC;IACxC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE;QAC7C,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;IAIvC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;IAKrB,GAAG,CAAC,GAAG,GAAG,SAAgB,CAAC;IAG3B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAU,CAC/B,CAAC;IACnB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnC,OAAO,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAG7C,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAElC,OAAO,OAAsB,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -4,4 +4,4 @@ export interface MockCookies extends Cookies {
|
|
|
4
4
|
requestStore: Map<string, string>;
|
|
5
5
|
responseStore: Map<string, string>;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
7
|
+
export declare const createMockCookies: (cookies?: Record<string, string>, secure?: boolean) => MockCookies;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.default = createMockCookies;
|
|
4
|
-
const vitest_1 = require("vitest");
|
|
5
|
-
function createMockCookies(cookies = {}, secure = true) {
|
|
1
|
+
import { vi } from 'vitest';
|
|
2
|
+
export const createMockCookies = (cookies = {}, secure = true) => {
|
|
6
3
|
const cookieEntries = Object.keys(cookies).map((key) => [key, cookies[key]]);
|
|
7
4
|
const requestStore = new Map(cookieEntries);
|
|
8
5
|
const responseStore = new Map(cookieEntries);
|
|
9
6
|
return {
|
|
10
|
-
set:
|
|
11
|
-
get:
|
|
7
|
+
set: vi.fn((key, value) => responseStore.set(key, value)),
|
|
8
|
+
get: vi.fn((key) => requestStore.get(key)),
|
|
12
9
|
requestStore,
|
|
13
10
|
responseStore,
|
|
14
11
|
secure,
|
|
15
12
|
};
|
|
16
|
-
}
|
|
13
|
+
};
|
|
17
14
|
//# sourceMappingURL=createMockCookies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMockCookies.js","sourceRoot":"","sources":["../../src/createMockCookies/createMockCookies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createMockCookies.js","sourceRoot":"","sources":["../../src/createMockCookies/createMockCookies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAS5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAAkC,EAAE,EACpC,MAAM,GAAG,IAAI,EACA,EAAE;IACf,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAqB,CACjD,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAiB,aAAa,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB,aAAa,CAAC,CAAC;IAE7D,OAAO;QACL,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,YAAY;QACZ,aAAa;QACb,MAAM;KACmB,CAAC;AAC9B,CAAC,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./createMockContext/createMockContext.js"), exports);
|
|
18
|
-
__exportStar(require("./createMockCookies/createMockCookies.js"), exports);
|
|
1
|
+
export * from './createMockContext/createMockContext.js';
|
|
2
|
+
export * from './createMockCookies/createMockCookies.js';
|
|
19
3
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skuba-lib/vitest-koa-mocks",
|
|
3
|
-
"version": "2.0.0-vitest-koa-mocks-
|
|
3
|
+
"version": "2.0.0-vitest-koa-mocks-20251204040851",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Vitest mocks for Koa",
|
|
6
6
|
"homepage": "https://github.com/seek-oss/skuba/tree/main/packages/vitest-koa-mocks#readme",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"sideEffects": true,
|
|
16
|
+
"type": "module",
|
|
16
17
|
"main": "./lib/index.js",
|
|
17
18
|
"module": "./lib/index.js",
|
|
18
19
|
"types": "./lib/index.d.ts",
|