@skuba-lib/vitest-koa-mocks 2.0.0-vitest-koa-mocks-20251204022335 → 2.0.0-vitest-koa-mocks-20251204040209
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 +29 -0
- package/lib/createMockContext/createMockContext.js +6 -5
- package/lib/createMockContext/createMockContext.js.map +1 -1
- package/lib/createMockCookies/createMockCookies.d.ts +7 -0
- package/lib/createMockCookies/createMockCookies.js +4 -3
- package/lib/createMockCookies/createMockCookies.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Context } from 'koa';
|
|
2
|
+
import { type RequestMethod } from 'node-mocks-http';
|
|
3
|
+
import { vi } from 'vitest';
|
|
4
|
+
import { type MockCookies } from '../createMockCookies/createMockCookies.js';
|
|
5
|
+
export interface MockContext extends Context {
|
|
6
|
+
cookies: MockCookies;
|
|
7
|
+
request: Context['request'] & {
|
|
8
|
+
body?: unknown;
|
|
9
|
+
rawBody?: string;
|
|
10
|
+
session?: Record<string, unknown>;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface Options<CustomProperties extends object, RequestBody = undefined> {
|
|
14
|
+
url?: string;
|
|
15
|
+
method?: RequestMethod;
|
|
16
|
+
statusCode?: number;
|
|
17
|
+
session?: Record<string, unknown>;
|
|
18
|
+
headers?: Record<string, string>;
|
|
19
|
+
cookies?: Record<string, string>;
|
|
20
|
+
state?: Record<string, unknown>;
|
|
21
|
+
encrypted?: boolean;
|
|
22
|
+
host?: string;
|
|
23
|
+
requestBody?: RequestBody;
|
|
24
|
+
rawBody?: string;
|
|
25
|
+
throw?: ((status: number, message?: string) => never) | ReturnType<typeof vi.fn>;
|
|
26
|
+
redirect?: ((url: string) => void) | ReturnType<typeof vi.fn>;
|
|
27
|
+
customProperties?: CustomProperties;
|
|
28
|
+
}
|
|
29
|
+
export declare const createMockContext: <CustomProperties extends object, RequestBody = undefined>(options?: Options<CustomProperties, RequestBody>) => MockContext;
|
|
@@ -3,13 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.createMockContext = void 0;
|
|
7
7
|
const stream_1 = __importDefault(require("stream"));
|
|
8
8
|
const koa_1 = __importDefault(require("koa"));
|
|
9
9
|
const node_mocks_http_1 = __importDefault(require("node-mocks-http"));
|
|
10
10
|
const vitest_1 = require("vitest");
|
|
11
|
-
const createMockCookies_js_1 =
|
|
12
|
-
|
|
11
|
+
const createMockCookies_js_1 = require("../createMockCookies/createMockCookies.js");
|
|
12
|
+
const createMockContext = (options = {}) => {
|
|
13
13
|
const app = new koa_1.default();
|
|
14
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;
|
|
15
15
|
const extensions = {
|
|
@@ -45,9 +45,10 @@ function createContext(options = {}) {
|
|
|
45
45
|
res.set = undefined;
|
|
46
46
|
const context = app.createContext(req, res);
|
|
47
47
|
Object.assign(context, extensions);
|
|
48
|
-
context.cookies = (0, createMockCookies_js_1.
|
|
48
|
+
context.cookies = (0, createMockCookies_js_1.createMockCookies)(cookies);
|
|
49
49
|
context.request.body = requestBody;
|
|
50
50
|
context.request.rawBody = rawBody;
|
|
51
51
|
return context;
|
|
52
|
-
}
|
|
52
|
+
};
|
|
53
|
+
exports.createMockContext = createMockContext;
|
|
53
54
|
//# 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,oDAA4B;AAE5B,8CAAwC;AACxC,sEAAgE;AAChE,mCAA4B;AAE5B,oFAGmD;AAiC5C,MAAM,iBAAiB,GAAG,CAI/B,UAAkD,EAAE,EACpD,EAAE;IACF,MAAM,GAAG,GAAG,IAAI,aAAG,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,WAAE,CAAC,EAAE,EAAE,EACxB,QAAQ,GAAG,WAAE,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,yBAAS,CAAC,aAAa,CAAC;QAClC,GAAG;QACH,MAAM;QACN,UAAU;QACV,OAAO;QACP,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAKH,GAAG,CAAC,MAAM,GAAG,IAAI,gBAAM,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,yBAAS,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,IAAA,wCAAiB,EAAC,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;AAxFW,QAAA,iBAAiB,qBAwF5B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Context } from 'koa';
|
|
2
|
+
export type Cookies = Context['cookies'];
|
|
3
|
+
export interface MockCookies extends Cookies {
|
|
4
|
+
requestStore: Map<string, string>;
|
|
5
|
+
responseStore: Map<string, string>;
|
|
6
|
+
}
|
|
7
|
+
export declare const createMockCookies: (cookies?: Record<string, string>, secure?: boolean) => MockCookies;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createMockCookies = void 0;
|
|
4
4
|
const vitest_1 = require("vitest");
|
|
5
|
-
|
|
5
|
+
const createMockCookies = (cookies = {}, secure = true) => {
|
|
6
6
|
const cookieEntries = Object.keys(cookies).map((key) => [key, cookies[key]]);
|
|
7
7
|
const requestStore = new Map(cookieEntries);
|
|
8
8
|
const responseStore = new Map(cookieEntries);
|
|
@@ -13,5 +13,6 @@ function createMockCookies(cookies = {}, secure = true) {
|
|
|
13
13
|
responseStore,
|
|
14
14
|
secure,
|
|
15
15
|
};
|
|
16
|
-
}
|
|
16
|
+
};
|
|
17
|
+
exports.createMockCookies = createMockCookies;
|
|
17
18
|
//# 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,mCAA4B;AASrB,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,WAAE,CAAC,EAAE,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzE,GAAG,EAAE,WAAE,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;AAlBW,QAAA,iBAAiB,qBAkB5B"}
|
package/lib/index.d.ts
ADDED
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-20251204040209",
|
|
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",
|