@gnapi/cotester 1.2.10 → 1.2.12
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/dist/analyzer.d.ts +17 -0
- package/dist/analyzer.js +184 -15
- package/dist/analyzer.js.map +1 -1
- package/dist/generator.js +438 -85
- package/dist/generator.js.map +1 -1
- package/dist/interfaceShapeResolver.js +9 -0
- package/dist/interfaceShapeResolver.js.map +1 -1
- package/dist/mockDataEngine.js +5 -3
- package/dist/mockDataEngine.js.map +1 -1
- package/dist/mockGenerator.js +39 -11
- package/dist/mockGenerator.js.map +1 -1
- package/dist/ormMockGenerator.js +22 -20
- package/dist/ormMockGenerator.js.map +1 -1
- package/dist/scenarioEngine.d.ts +22 -0
- package/dist/scenarioEngine.js +55 -40
- package/dist/scenarioEngine.js.map +1 -1
- package/dist/sharedMockRegistry.js +1 -1
- package/dist/sharedMockRegistry.js.map +1 -1
- package/package.json +1 -1
package/dist/analyzer.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export interface FunctionMeta {
|
|
|
43
43
|
isAsync: boolean;
|
|
44
44
|
/** Function body contains throw statements */
|
|
45
45
|
throwsErrors: boolean;
|
|
46
|
+
/** Exception class names found in throw statements (e.g. ['NotFoundException', 'BadRequestException']) */
|
|
47
|
+
thrownExceptions: string[];
|
|
46
48
|
/** External module dependencies used inside the function body */
|
|
47
49
|
dependencies: DependencyMeta[];
|
|
48
50
|
/** Class constructor parameters (for DI mocking) */
|
|
@@ -61,6 +63,21 @@ export interface FunctionMeta {
|
|
|
61
63
|
isNestInjectable?: boolean;
|
|
62
64
|
/** Decorator names found on the containing class (e.g. ['Injectable', 'Controller']) */
|
|
63
65
|
classDecorators?: string[];
|
|
66
|
+
/** Environment variable names referenced in class property initializers (e.g. ['COUCHBASE_ENABLED']) */
|
|
67
|
+
envVarProperties?: {
|
|
68
|
+
propertyName: string;
|
|
69
|
+
envVarName: string;
|
|
70
|
+
defaultValue?: string;
|
|
71
|
+
}[];
|
|
72
|
+
/** true when the containing class is abstract (needs concrete subclass stub in tests) */
|
|
73
|
+
isAbstractClass?: boolean;
|
|
74
|
+
/** Abstract method signatures that must be stubbed in the test subclass */
|
|
75
|
+
abstractMethods?: {
|
|
76
|
+
name: string;
|
|
77
|
+
returnType: string;
|
|
78
|
+
isAsync: boolean;
|
|
79
|
+
params: ParameterMeta[];
|
|
80
|
+
}[];
|
|
64
81
|
}
|
|
65
82
|
/** Detected structural file type */
|
|
66
83
|
export type FileType = "controller" | "service" | "repository" | "unknown";
|
package/dist/analyzer.js
CHANGED
|
@@ -39,6 +39,34 @@ const path = __importStar(require("path"));
|
|
|
39
39
|
const branchAnalyzer_1 = require("./branchAnalyzer");
|
|
40
40
|
const ormMockGenerator_1 = require("./ormMockGenerator");
|
|
41
41
|
const pathAliasResolver_1 = require("./pathAliasResolver");
|
|
42
|
+
// ─── Built-in names to skip when resolving type properties ───────────────────
|
|
43
|
+
const BUILTIN_SKIP_NAMES = new Set([
|
|
44
|
+
// Object prototype
|
|
45
|
+
"constructor", "toString", "valueOf", "hasOwnProperty",
|
|
46
|
+
"isPrototypeOf", "propertyIsEnumerable", "toLocaleString",
|
|
47
|
+
// NestJS lifecycle hooks
|
|
48
|
+
"onModuleInit", "onModuleDestroy", "onApplicationBootstrap",
|
|
49
|
+
"onApplicationShutdown", "beforeApplicationShutdown",
|
|
50
|
+
// String prototype methods
|
|
51
|
+
"charAt", "charCodeAt", "codePointAt", "concat", "indexOf",
|
|
52
|
+
"lastIndexOf", "localeCompare", "match", "matchAll", "replace",
|
|
53
|
+
"replaceAll", "search", "slice", "split", "substring", "substr",
|
|
54
|
+
"toLowerCase", "toLocaleLowerCase", "toUpperCase", "toLocaleUpperCase",
|
|
55
|
+
"trim", "trimStart", "trimEnd", "trimLeft", "trimRight",
|
|
56
|
+
"padStart", "padEnd", "repeat", "normalize", "includes",
|
|
57
|
+
"startsWith", "endsWith", "at", "anchor", "big", "blink",
|
|
58
|
+
"bold", "fixed", "fontcolor", "fontsize", "italics", "link",
|
|
59
|
+
"small", "strike", "sub", "sup",
|
|
60
|
+
// Array prototype methods
|
|
61
|
+
"push", "pop", "shift", "unshift", "splice", "sort", "reverse",
|
|
62
|
+
"map", "filter", "reduce", "reduceRight", "forEach", "some",
|
|
63
|
+
"every", "find", "findIndex", "findLast", "findLastIndex",
|
|
64
|
+
"flat", "flatMap", "fill", "copyWithin", "entries", "keys",
|
|
65
|
+
"values", "join",
|
|
66
|
+
// Number / Symbol / common built-ins
|
|
67
|
+
"toFixed", "toPrecision", "toExponential",
|
|
68
|
+
"length", "size",
|
|
69
|
+
]);
|
|
42
70
|
// ─── Main analyse function ───────────────────────────────────────────────────
|
|
43
71
|
/**
|
|
44
72
|
* Analyse a TypeScript source file and extract exported functions,
|
|
@@ -76,6 +104,7 @@ function analyzeFile(filePath, aliases) {
|
|
|
76
104
|
const returnType = fn.getReturnType().getText(fn) || "void";
|
|
77
105
|
const isAsync = fn.isAsync() || returnType.toLowerCase().startsWith("promise");
|
|
78
106
|
const throwsErrors = bodyContainsThrow(fn);
|
|
107
|
+
const thrownExceptions = extractThrownExceptions(fn);
|
|
79
108
|
const dependencies = findUsedDependencies(fn, fileImports, sourceFile);
|
|
80
109
|
const branches = (0, branchAnalyzer_1.analyzeBranches)(fn);
|
|
81
110
|
const ormUsage = (0, ormMockGenerator_1.detectOrmUsage)(fn);
|
|
@@ -85,6 +114,7 @@ function analyzeFile(filePath, aliases) {
|
|
|
85
114
|
returnType,
|
|
86
115
|
isAsync,
|
|
87
116
|
throwsErrors,
|
|
117
|
+
thrownExceptions,
|
|
88
118
|
dependencies,
|
|
89
119
|
branches,
|
|
90
120
|
fileType,
|
|
@@ -117,6 +147,7 @@ function analyzeFile(filePath, aliases) {
|
|
|
117
147
|
const returnType = fnNode.getReturnType().getText(fnNode) || "void";
|
|
118
148
|
const isAsync = fnNode.isAsync?.() || returnType.toLowerCase().startsWith("promise");
|
|
119
149
|
const throwsErrors = bodyContainsThrow(fnNode);
|
|
150
|
+
const thrownExceptions = extractThrownExceptions(fnNode);
|
|
120
151
|
const dependencies = findUsedDependencies(fnNode, fileImports, sourceFile);
|
|
121
152
|
const branches = (0, branchAnalyzer_1.analyzeBranches)(fnNode);
|
|
122
153
|
const ormUsage = (0, ormMockGenerator_1.detectOrmUsage)(fnNode);
|
|
@@ -126,6 +157,7 @@ function analyzeFile(filePath, aliases) {
|
|
|
126
157
|
returnType,
|
|
127
158
|
isAsync,
|
|
128
159
|
throwsErrors,
|
|
160
|
+
thrownExceptions,
|
|
129
161
|
dependencies,
|
|
130
162
|
branches,
|
|
131
163
|
fileType,
|
|
@@ -140,22 +172,40 @@ function analyzeFile(filePath, aliases) {
|
|
|
140
172
|
for (const cls of classes) {
|
|
141
173
|
if (!cls.isExported())
|
|
142
174
|
continue;
|
|
143
|
-
|
|
144
|
-
if (cls.isAbstract())
|
|
145
|
-
continue;
|
|
175
|
+
const isAbstractClass = cls.isAbstract();
|
|
146
176
|
const className = cls.getName() ?? "AnonymousClass";
|
|
147
177
|
// Detect NestJS DI decorators for specialized mock generation
|
|
148
178
|
const classDecoratorNames = cls.getDecorators().map((d) => d.getName());
|
|
149
179
|
const isNestInjectable = classDecoratorNames.some((n) => NEST_DECORATORS.includes(n));
|
|
150
180
|
// Extract constructor params for DI
|
|
151
181
|
const constructorParams = extractConstructorParams(cls);
|
|
182
|
+
// Extract env var references from class property initializers
|
|
183
|
+
const envVarProperties = extractEnvVarProperties(cls);
|
|
184
|
+
// For abstract classes, collect abstract method signatures for test stub generation
|
|
185
|
+
let abstractMethods;
|
|
186
|
+
if (isAbstractClass) {
|
|
187
|
+
abstractMethods = cls.getMethods()
|
|
188
|
+
.filter((m) => m.isAbstract())
|
|
189
|
+
.map((m) => {
|
|
190
|
+
const rt = m.getReturnType().getText(m) || "void";
|
|
191
|
+
return {
|
|
192
|
+
name: m.getName(),
|
|
193
|
+
returnType: rt,
|
|
194
|
+
isAsync: m.isAsync() || rt.toLowerCase().startsWith("promise"),
|
|
195
|
+
params: m.getParameters().map((p) => ({
|
|
196
|
+
name: p.getName(),
|
|
197
|
+
type: p.getType().getText(p) || "unknown",
|
|
198
|
+
})),
|
|
199
|
+
};
|
|
200
|
+
});
|
|
201
|
+
}
|
|
152
202
|
const methods = cls.getMethods();
|
|
153
203
|
for (const method of methods) {
|
|
154
|
-
// Skip private
|
|
155
|
-
if (method.hasModifier(ts_morph_1.SyntaxKind.PrivateKeyword)
|
|
156
|
-
|
|
204
|
+
// Skip private methods; for abstract classes, include protected (testable via subclass)
|
|
205
|
+
if (method.hasModifier(ts_morph_1.SyntaxKind.PrivateKeyword))
|
|
206
|
+
continue;
|
|
207
|
+
if (!isAbstractClass && method.hasModifier(ts_morph_1.SyntaxKind.ProtectedKeyword))
|
|
157
208
|
continue;
|
|
158
|
-
}
|
|
159
209
|
// Skip abstract methods — no implementation to test
|
|
160
210
|
if (method.isAbstract())
|
|
161
211
|
continue;
|
|
@@ -172,6 +222,7 @@ function analyzeFile(filePath, aliases) {
|
|
|
172
222
|
const isAsync = method.isAsync() || returnType.toLowerCase().startsWith("promise");
|
|
173
223
|
const isStatic = method.hasModifier(ts_morph_1.SyntaxKind.StaticKeyword);
|
|
174
224
|
const throwsErrors = bodyContainsThrow(method);
|
|
225
|
+
const thrownExceptions = extractThrownExceptions(method);
|
|
175
226
|
const dependencies = findUsedDependencies(method, fileImports, sourceFile);
|
|
176
227
|
const branches = (0, branchAnalyzer_1.analyzeBranches)(method);
|
|
177
228
|
const ormUsage = (0, ormMockGenerator_1.detectOrmUsage)(method);
|
|
@@ -183,6 +234,7 @@ function analyzeFile(filePath, aliases) {
|
|
|
183
234
|
returnType,
|
|
184
235
|
isAsync,
|
|
185
236
|
throwsErrors,
|
|
237
|
+
thrownExceptions,
|
|
186
238
|
dependencies,
|
|
187
239
|
constructorParams,
|
|
188
240
|
branches,
|
|
@@ -192,6 +244,9 @@ function analyzeFile(filePath, aliases) {
|
|
|
192
244
|
lineNumber: method.getStartLineNumber(),
|
|
193
245
|
isNestInjectable,
|
|
194
246
|
classDecorators: classDecoratorNames,
|
|
247
|
+
envVarProperties: envVarProperties.length > 0 ? envVarProperties : undefined,
|
|
248
|
+
isAbstractClass: isAbstractClass || undefined,
|
|
249
|
+
abstractMethods: isAbstractClass ? abstractMethods : undefined,
|
|
195
250
|
});
|
|
196
251
|
}
|
|
197
252
|
}
|
|
@@ -317,20 +372,77 @@ function resolveImportedFunctionMeta(sourceFile, dep) {
|
|
|
317
372
|
continue;
|
|
318
373
|
const type = namedImport.getNameNode().getType();
|
|
319
374
|
const callSigs = type.getCallSignatures();
|
|
320
|
-
if (callSigs.length
|
|
375
|
+
if (callSigs.length > 0) {
|
|
376
|
+
// It's a callable (function) — resolve its signature directly
|
|
377
|
+
const sig = callSigs[0];
|
|
378
|
+
const returnTypeText = sig.getReturnType().getText();
|
|
379
|
+
const isAsync = /^Promise</i.test(returnTypeText);
|
|
380
|
+
const params = sig.getParameters().map((p) => ({
|
|
381
|
+
name: p.getName(),
|
|
382
|
+
type: p.getTypeAtLocation(namedImport).getText() || "unknown",
|
|
383
|
+
}));
|
|
384
|
+
result.push({ name: importedName, returnType: returnTypeText, isAsync, params });
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
// It's a class/interface — resolve its public method signatures
|
|
388
|
+
// so constructor-injected dependencies get real method mocks
|
|
389
|
+
// instead of generic CRUD stubs.
|
|
390
|
+
const classMethodMeta = resolveClassMethodMeta(type, namedImport);
|
|
391
|
+
result.push(...classMethodMeta);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
catch {
|
|
396
|
+
// Silently ignore — resolution failures are expected for third-party modules
|
|
397
|
+
}
|
|
398
|
+
return result;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Resolve public method signatures from a class or interface type.
|
|
402
|
+
* This enables constructor-injected dependencies to be mocked with their
|
|
403
|
+
* actual method names and return types instead of generic CRUD fallbacks.
|
|
404
|
+
*/
|
|
405
|
+
function resolveClassMethodMeta(type, locationNode) {
|
|
406
|
+
const result = [];
|
|
407
|
+
try {
|
|
408
|
+
// If the type is `typeof ClassName` (constructor), get the instance type
|
|
409
|
+
let resolvedType = type;
|
|
410
|
+
const constructSigs = type.getConstructSignatures();
|
|
411
|
+
if (constructSigs.length > 0) {
|
|
412
|
+
resolvedType = constructSigs[0].getReturnType();
|
|
413
|
+
}
|
|
414
|
+
// Get all properties of the type (includes methods)
|
|
415
|
+
for (const prop of resolvedType.getProperties()) {
|
|
416
|
+
const name = prop.getName();
|
|
417
|
+
// Skip internal/private-convention members
|
|
418
|
+
if (name.startsWith("_") || name.startsWith("#"))
|
|
419
|
+
continue;
|
|
420
|
+
// Skip built-in prototype methods, NestJS lifecycle hooks, etc.
|
|
421
|
+
if (BUILTIN_SKIP_NAMES.has(name))
|
|
321
422
|
continue;
|
|
322
|
-
const
|
|
423
|
+
const propType = prop.getTypeAtLocation(locationNode);
|
|
424
|
+
const methodSigs = propType.getCallSignatures();
|
|
425
|
+
if (methodSigs.length === 0)
|
|
426
|
+
continue;
|
|
427
|
+
const sig = methodSigs[0];
|
|
323
428
|
const returnTypeText = sig.getReturnType().getText();
|
|
324
429
|
const isAsync = /^Promise</i.test(returnTypeText);
|
|
325
|
-
const params = sig.getParameters().map((p) =>
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
430
|
+
const params = sig.getParameters().map((p) => {
|
|
431
|
+
try {
|
|
432
|
+
return {
|
|
433
|
+
name: p.getName(),
|
|
434
|
+
type: p.getTypeAtLocation(locationNode).getText() || "unknown",
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
catch {
|
|
438
|
+
return { name: p.getName(), type: "unknown" };
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
result.push({ name, returnType: returnTypeText, isAsync, params });
|
|
330
442
|
}
|
|
331
443
|
}
|
|
332
444
|
catch {
|
|
333
|
-
//
|
|
445
|
+
// Fall through — AST resolution can fail for complex types
|
|
334
446
|
}
|
|
335
447
|
return result;
|
|
336
448
|
}
|
|
@@ -341,6 +453,63 @@ function escapeRegex(str) {
|
|
|
341
453
|
function bodyContainsThrow(node) {
|
|
342
454
|
return node.getDescendantsOfKind(ts_morph_1.SyntaxKind.ThrowStatement).length > 0;
|
|
343
455
|
}
|
|
456
|
+
/**
|
|
457
|
+
* Extract unique exception class names from `throw new Foo(...)` statements.
|
|
458
|
+
* Returns e.g. ['NotFoundException', 'BadRequestException'].
|
|
459
|
+
*/
|
|
460
|
+
function extractThrownExceptions(node) {
|
|
461
|
+
const throwStmts = node.getDescendantsOfKind(ts_morph_1.SyntaxKind.ThrowStatement);
|
|
462
|
+
const names = new Set();
|
|
463
|
+
for (const stmt of throwStmts) {
|
|
464
|
+
const expr = stmt.getExpression();
|
|
465
|
+
if (!expr)
|
|
466
|
+
continue;
|
|
467
|
+
// Match `throw new FooError(...)` — extract class name from NewExpression
|
|
468
|
+
if (ts_morph_1.Node.isNewExpression(expr)) {
|
|
469
|
+
const exprText = expr.getExpression().getText();
|
|
470
|
+
// Handle simple identifiers like "NotFoundException" or qualified like "HttpException"
|
|
471
|
+
const className = exprText.split(".").pop();
|
|
472
|
+
if (className && /^[A-Z]/.test(className)) {
|
|
473
|
+
names.add(className);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
return Array.from(names);
|
|
478
|
+
}
|
|
479
|
+
// ─── Environment variable property extraction ────────────────────────────────
|
|
480
|
+
/**
|
|
481
|
+
* Extract environment variable references from class property initializers.
|
|
482
|
+
* Detects patterns like:
|
|
483
|
+
* `private readonly foo = process.env['BAR']`
|
|
484
|
+
* `private readonly foo = (process.env['BAR'] ?? 'default').toLowerCase() === 'true'`
|
|
485
|
+
*/
|
|
486
|
+
function extractEnvVarProperties(cls) {
|
|
487
|
+
const results = [];
|
|
488
|
+
try {
|
|
489
|
+
for (const prop of cls.getProperties()) {
|
|
490
|
+
const initializer = prop.getInitializer();
|
|
491
|
+
if (!initializer)
|
|
492
|
+
continue;
|
|
493
|
+
const text = initializer.getText();
|
|
494
|
+
// Match process.env['KEY'] or process.env["KEY"] or process.env.KEY
|
|
495
|
+
const envMatches = text.matchAll(/process\.env\[['"]([^'"]+)['"]\]|process\.env\.([A-Z_][A-Z0-9_]*)/g);
|
|
496
|
+
for (const match of envMatches) {
|
|
497
|
+
const envVarName = match[1] ?? match[2];
|
|
498
|
+
// Try to extract default value from ?? or || patterns
|
|
499
|
+
const defaultMatch = text.match(/\?\?\s*['"]([^'"]*)['"]/);
|
|
500
|
+
results.push({
|
|
501
|
+
propertyName: prop.getName(),
|
|
502
|
+
envVarName,
|
|
503
|
+
defaultValue: defaultMatch?.[1],
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
catch {
|
|
509
|
+
// Silently continue — property analysis can fail for complex patterns
|
|
510
|
+
}
|
|
511
|
+
return results;
|
|
512
|
+
}
|
|
344
513
|
// ─── Constructor param extraction ────────────────────────────────────────────
|
|
345
514
|
function extractConstructorParams(cls) {
|
|
346
515
|
const ctors = cls.getConstructors();
|
package/dist/analyzer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|