agentic-qe 3.6.14 → 3.6.16
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/.claude/skills/skills-manifest.json +1 -1
- package/package.json +3 -2
- package/v3/CHANGELOG.md +42 -0
- package/v3/dist/cli/bundle.js +911 -354
- package/v3/dist/cli/commands/test.d.ts.map +1 -1
- package/v3/dist/cli/commands/test.js +6 -3
- package/v3/dist/cli/commands/test.js.map +1 -1
- package/v3/dist/cli/completions/index.d.ts +1 -1
- package/v3/dist/cli/completions/index.d.ts.map +1 -1
- package/v3/dist/cli/completions/index.js +1 -1
- package/v3/dist/cli/completions/index.js.map +1 -1
- package/v3/dist/cli/wizards/test-wizard.d.ts +1 -1
- package/v3/dist/cli/wizards/test-wizard.d.ts.map +1 -1
- package/v3/dist/cli/wizards/test-wizard.js +8 -1
- package/v3/dist/cli/wizards/test-wizard.js.map +1 -1
- package/v3/dist/coordination/task-executor.js.map +1 -1
- package/v3/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/factories/test-generator-factory.js +4 -1
- package/v3/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
- package/v3/dist/domains/test-generation/generators/base-test-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/generators/base-test-generator.js +74 -27
- package/v3/dist/domains/test-generation/generators/base-test-generator.js.map +1 -1
- package/v3/dist/domains/test-generation/generators/index.d.ts +1 -0
- package/v3/dist/domains/test-generation/generators/index.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/generators/index.js +1 -0
- package/v3/dist/domains/test-generation/generators/index.js.map +1 -1
- package/v3/dist/domains/test-generation/generators/jest-vitest-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js +77 -21
- package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js.map +1 -1
- package/v3/dist/domains/test-generation/generators/mocha-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/generators/mocha-generator.js +92 -17
- package/v3/dist/domains/test-generation/generators/mocha-generator.js.map +1 -1
- package/v3/dist/domains/test-generation/generators/node-test-generator.d.ts +54 -0
- package/v3/dist/domains/test-generation/generators/node-test-generator.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/generators/node-test-generator.js +222 -0
- package/v3/dist/domains/test-generation/generators/node-test-generator.js.map +1 -0
- package/v3/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/generators/pytest-generator.js +74 -15
- package/v3/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
- package/v3/dist/domains/test-generation/interfaces/test-generator.interface.d.ts +1 -1
- package/v3/dist/domains/test-generation/interfaces/test-generator.interface.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/interfaces.d.ts +2 -2
- package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/plugin.js.map +1 -1
- package/v3/dist/domains/test-generation/services/pattern-matcher.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/pattern-matcher.js +34 -7
- package/v3/dist/domains/test-generation/services/pattern-matcher.js.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.js +42 -9
- package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
- package/v3/dist/mcp/bundle.js +550 -78
- package/v3/dist/mcp/tools/test-generation/generate.d.ts +1 -1
- package/v3/dist/mcp/tools/test-generation/generate.d.ts.map +1 -1
- package/v3/dist/mcp/tools/test-generation/generate.js.map +1 -1
- package/v3/dist/shared/sql-safety.d.ts +3 -0
- package/v3/dist/shared/sql-safety.d.ts.map +1 -1
- package/v3/dist/shared/sql-safety.js +12 -2
- package/v3/dist/shared/sql-safety.js.map +1 -1
- package/v3/dist/sync/cloud/postgres-writer.d.ts +6 -1
- package/v3/dist/sync/cloud/postgres-writer.d.ts.map +1 -1
- package/v3/dist/sync/cloud/postgres-writer.js +121 -46
- package/v3/dist/sync/cloud/postgres-writer.js.map +1 -1
- package/v3/dist/sync/interfaces.d.ts.map +1 -1
- package/v3/dist/sync/interfaces.js +97 -32
- package/v3/dist/sync/interfaces.js.map +1 -1
- package/v3/dist/sync/sync-agent.d.ts.map +1 -1
- package/v3/dist/sync/sync-agent.js +8 -24
- package/v3/dist/sync/sync-agent.js.map +1 -1
- package/v3/package.json +1 -1
|
@@ -80,8 +80,8 @@ export class BaseTestGenerator {
|
|
|
80
80
|
if (type.includes(typeKey))
|
|
81
81
|
return generator();
|
|
82
82
|
}
|
|
83
|
-
//
|
|
84
|
-
return `
|
|
83
|
+
// Bug #295 fix: Return a safe inline value instead of an undefined variable reference
|
|
84
|
+
return `{} /* TODO: provide ${param.name}: ${param.type || 'unknown'} */`;
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
87
|
* Generate test cases for a function based on its signature
|
|
@@ -95,27 +95,73 @@ export class BaseTestGenerator {
|
|
|
95
95
|
// Generate valid input test (happy path)
|
|
96
96
|
const validParams = fn.parameters.map((p) => this.generateTestValue(p)).join(', ');
|
|
97
97
|
const fnCall = fn.isAsync ? `await ${fn.name}(${validParams})` : `${fn.name}(${validParams})`;
|
|
98
|
+
const isVoid = fn.returnType === 'void' || fn.returnType === 'Promise<void>';
|
|
99
|
+
// Smart assertion based on function name and return type
|
|
100
|
+
let assertion = 'expect(result).toBeDefined();';
|
|
101
|
+
if (!isVoid) {
|
|
102
|
+
// Use regex to require uppercase after prefix — avoids matching 'isolate', 'issue', 'isbn', etc.
|
|
103
|
+
if (/^(is|has|can)[A-Z]/.test(fn.name)) {
|
|
104
|
+
assertion = "expect(typeof result).toBe('boolean');";
|
|
105
|
+
}
|
|
106
|
+
else if (/^(get|fetch|find)[A-Z]/.test(fn.name)) {
|
|
107
|
+
assertion = 'expect(result).not.toBeUndefined();';
|
|
108
|
+
}
|
|
109
|
+
else if (/^(create|build|make)[A-Z]/.test(fn.name)) {
|
|
110
|
+
assertion = 'expect(result).toBeTruthy();';
|
|
111
|
+
}
|
|
112
|
+
else if (fn.returnType) {
|
|
113
|
+
const rt = fn.returnType.toLowerCase().replace(/promise<(.+)>/, '$1');
|
|
114
|
+
if (rt.includes('boolean'))
|
|
115
|
+
assertion = "expect(typeof result).toBe('boolean');";
|
|
116
|
+
else if (rt.includes('number'))
|
|
117
|
+
assertion = "expect(typeof result).toBe('number');";
|
|
118
|
+
else if (rt.includes('string'))
|
|
119
|
+
assertion = "expect(typeof result).toBe('string');";
|
|
120
|
+
else if (rt.includes('[]') || rt.includes('array'))
|
|
121
|
+
assertion = 'expect(Array.isArray(result)).toBe(true);';
|
|
122
|
+
}
|
|
123
|
+
}
|
|
98
124
|
testCases.push({
|
|
99
125
|
description: 'should handle valid input correctly',
|
|
100
126
|
type: 'happy-path',
|
|
101
|
-
action: `const result = ${fnCall};`,
|
|
102
|
-
assertion:
|
|
127
|
+
action: isVoid ? `${fnCall};` : `const result = ${fnCall};`,
|
|
128
|
+
assertion: isVoid ? `// void function — no return value to assert` : assertion,
|
|
103
129
|
});
|
|
104
130
|
// Generate tests for each parameter
|
|
131
|
+
// Bug #295 fix: Check function body for explicit throw/validation before assuming toThrow()
|
|
132
|
+
const bodyText = fn.body || '';
|
|
133
|
+
const hasExplicitThrow = /\bthrow\b/.test(bodyText) || /\bvalidat/i.test(bodyText);
|
|
105
134
|
for (const param of fn.parameters) {
|
|
106
135
|
// Test with undefined for required parameters
|
|
107
136
|
if (!param.optional) {
|
|
108
137
|
const paramsWithUndefined = fn.parameters
|
|
109
138
|
.map((p) => (p.name === param.name ? 'undefined' : this.generateTestValue(p)))
|
|
110
139
|
.join(', ');
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
140
|
+
if (hasExplicitThrow) {
|
|
141
|
+
testCases.push({
|
|
142
|
+
description: `should handle undefined ${param.name}`,
|
|
143
|
+
type: 'error-handling',
|
|
144
|
+
action: fn.isAsync
|
|
145
|
+
? `const action = async () => await ${fn.name}(${paramsWithUndefined});`
|
|
146
|
+
: `const action = () => ${fn.name}(${paramsWithUndefined});`,
|
|
147
|
+
assertion: 'expect(action).toThrow();',
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
// Function has no explicit throw — but may still crash on property access.
|
|
152
|
+
// Use try-catch pattern that accepts either behavior.
|
|
153
|
+
const undefinedCall = fn.isAsync
|
|
154
|
+
? `await ${fn.name}(${paramsWithUndefined})`
|
|
155
|
+
: `${fn.name}(${paramsWithUndefined})`;
|
|
156
|
+
testCases.push({
|
|
157
|
+
description: `should handle undefined ${param.name}`,
|
|
158
|
+
type: 'edge-case',
|
|
159
|
+
action: fn.isAsync
|
|
160
|
+
? `let threw = false;\n try {\n await ${fn.name}(${paramsWithUndefined});\n } catch (e) {\n threw = true;\n expect(e).toBeInstanceOf(Error);\n }`
|
|
161
|
+
: `let threw = false;\n try {\n ${fn.name}(${paramsWithUndefined});\n } catch (e) {\n threw = true;\n expect(e).toBeInstanceOf(Error);\n }`,
|
|
162
|
+
assertion: `expect(true).toBe(true); // function either handles undefined or throws TypeError`,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
119
165
|
}
|
|
120
166
|
// Type-specific boundary tests
|
|
121
167
|
testCases.push(...this.generateBoundaryTestCases(fn, param));
|
|
@@ -137,19 +183,24 @@ export class BaseTestGenerator {
|
|
|
137
183
|
generateBoundaryTestCases(fn, param) {
|
|
138
184
|
const testCases = [];
|
|
139
185
|
const type = param.type?.toLowerCase() || '';
|
|
186
|
+
// Boundary inputs are likely to trigger validation — use try-catch to handle both cases
|
|
187
|
+
const wrapBoundaryAction = (call, isAsync) => {
|
|
188
|
+
if (isAsync) {
|
|
189
|
+
return `try {\n const result = await ${call};\n expect(result).toBeDefined();\n } catch (e) {\n expect(e).toBeInstanceOf(Error);\n }`;
|
|
190
|
+
}
|
|
191
|
+
return `try {\n const result = ${call};\n expect(result).toBeDefined();\n } catch (e) {\n expect(e).toBeInstanceOf(Error);\n }`;
|
|
192
|
+
};
|
|
140
193
|
// String boundary tests
|
|
141
194
|
if (type.includes('string')) {
|
|
142
195
|
const paramsWithEmpty = fn.parameters
|
|
143
196
|
.map((p) => (p.name === param.name ? "''" : this.generateTestValue(p)))
|
|
144
197
|
.join(', ');
|
|
145
|
-
const emptyCall = fn.
|
|
146
|
-
? `await ${fn.name}(${paramsWithEmpty})`
|
|
147
|
-
: `${fn.name}(${paramsWithEmpty})`;
|
|
198
|
+
const emptyCall = `${fn.name}(${paramsWithEmpty})`;
|
|
148
199
|
testCases.push({
|
|
149
200
|
description: `should handle empty string for ${param.name}`,
|
|
150
201
|
type: 'boundary',
|
|
151
|
-
action:
|
|
152
|
-
assertion: '
|
|
202
|
+
action: wrapBoundaryAction(emptyCall, fn.isAsync),
|
|
203
|
+
assertion: '',
|
|
153
204
|
});
|
|
154
205
|
}
|
|
155
206
|
// Number boundary tests
|
|
@@ -158,27 +209,23 @@ export class BaseTestGenerator {
|
|
|
158
209
|
const paramsWithZero = fn.parameters
|
|
159
210
|
.map((p) => (p.name === param.name ? '0' : this.generateTestValue(p)))
|
|
160
211
|
.join(', ');
|
|
161
|
-
const zeroCall = fn.
|
|
162
|
-
? `await ${fn.name}(${paramsWithZero})`
|
|
163
|
-
: `${fn.name}(${paramsWithZero})`;
|
|
212
|
+
const zeroCall = `${fn.name}(${paramsWithZero})`;
|
|
164
213
|
testCases.push({
|
|
165
214
|
description: `should handle zero for ${param.name}`,
|
|
166
215
|
type: 'boundary',
|
|
167
|
-
action:
|
|
168
|
-
assertion: '
|
|
216
|
+
action: wrapBoundaryAction(zeroCall, fn.isAsync),
|
|
217
|
+
assertion: '',
|
|
169
218
|
});
|
|
170
219
|
// Test with negative value
|
|
171
220
|
const paramsWithNegative = fn.parameters
|
|
172
221
|
.map((p) => (p.name === param.name ? '-1' : this.generateTestValue(p)))
|
|
173
222
|
.join(', ');
|
|
174
|
-
const negativeCall = fn.
|
|
175
|
-
? `await ${fn.name}(${paramsWithNegative})`
|
|
176
|
-
: `${fn.name}(${paramsWithNegative})`;
|
|
223
|
+
const negativeCall = `${fn.name}(${paramsWithNegative})`;
|
|
177
224
|
testCases.push({
|
|
178
225
|
description: `should handle negative value for ${param.name}`,
|
|
179
226
|
type: 'edge-case',
|
|
180
|
-
action:
|
|
181
|
-
assertion: '
|
|
227
|
+
action: wrapBoundaryAction(negativeCall, fn.isAsync),
|
|
228
|
+
assertion: '',
|
|
182
229
|
});
|
|
183
230
|
}
|
|
184
231
|
// Array boundary tests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-test-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/base-test-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAaxC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAgB,iBAAiB;IAarC,+EAA+E;IAC/E,iDAAiD;IACjD,+EAA+E;IAE/E;;;OAGG;IACK,MAAM,CAAU,gBAAgB,GAA0C;QAChF,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;QACxC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;QAC9C,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;QAC9C,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;QAC1C,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;QAClE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;QAC5C,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;KACzD,CAAC;IAEF;;;OAGG;IACK,MAAM,CAAU,gBAAgB,GAA0C;QAChF,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;QAC3C,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;QACzB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QAClB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACrB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACtB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACjB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;QAC9B,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC;QACtC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;KAC7B,CAAC;IAEF;;;;;;OAMG;IACO,iBAAiB,CAAC,KAAoB;QAC9C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,SAAS,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEtC,8CAA8C;QAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YACtE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,SAAS,EAAE,CAAC;QACjD,CAAC;QAED,eAAe;QACf,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YACtE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,SAAS,EAAE,CAAC;QACjD,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"base-test-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/base-test-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAaxC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAgB,iBAAiB;IAarC,+EAA+E;IAC/E,iDAAiD;IACjD,+EAA+E;IAE/E;;;OAGG;IACK,MAAM,CAAU,gBAAgB,GAA0C;QAChF,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;QACxC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;QAC9C,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;QAC9C,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;QAC1C,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;QAClE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;QAC5C,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;KACzD,CAAC;IAEF;;;OAGG;IACK,MAAM,CAAU,gBAAgB,GAA0C;QAChF,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;QAC3C,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;QACzB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QAClB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACrB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACtB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACjB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;QAC9B,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC;QACtC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;KAC7B,CAAC;IAEF;;;;;;OAMG;IACO,iBAAiB,CAAC,KAAoB;QAC9C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,SAAS,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEtC,8CAA8C;QAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YACtE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,SAAS,EAAE,CAAC;QACjD,CAAC;QAED,eAAe;QACf,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YACtE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,SAAS,EAAE,CAAC;QACjD,CAAC;QAED,sFAAsF;QACtF,OAAO,uBAAuB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACO,4BAA4B,CAAC,EAAgB;QACrD,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,yCAAyC;QACzC,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;QAC9F,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,KAAK,MAAM,IAAI,EAAE,CAAC,UAAU,KAAK,eAAe,CAAC;QAE7E,yDAAyD;QACzD,IAAI,SAAS,GAAG,+BAA+B,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,iGAAiG;YACjG,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,SAAS,GAAG,wCAAwC,CAAC;YACvD,CAAC;iBAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,SAAS,GAAG,qCAAqC,CAAC;YACpD,CAAC;iBAAM,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,SAAS,GAAG,8BAA8B,CAAC;YAC7C,CAAC;iBAAM,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBACtE,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAAE,SAAS,GAAG,wCAAwC,CAAC;qBAC5E,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,SAAS,GAAG,uCAAuC,CAAC;qBAC/E,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,SAAS,GAAG,uCAAuC,CAAC;qBAC/E,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS,GAAG,2CAA2C,CAAC;YAC9G,CAAC;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAkB,MAAM,GAAG;YAC3D,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC,CAAC;QAEH,oCAAoC;QACpC,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnF,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;YAClC,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,mBAAmB,GAAG,EAAE,CAAC,UAAU;qBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC7E,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,IAAI,gBAAgB,EAAE,CAAC;oBACrB,SAAS,CAAC,IAAI,CAAC;wBACb,WAAW,EAAE,2BAA2B,KAAK,CAAC,IAAI,EAAE;wBACpD,IAAI,EAAE,gBAAgB;wBACtB,MAAM,EAAE,EAAE,CAAC,OAAO;4BAChB,CAAC,CAAC,oCAAoC,EAAE,CAAC,IAAI,IAAI,mBAAmB,IAAI;4BACxE,CAAC,CAAC,wBAAwB,EAAE,CAAC,IAAI,IAAI,mBAAmB,IAAI;wBAC9D,SAAS,EAAE,2BAA2B;qBACvC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,2EAA2E;oBAC3E,sDAAsD;oBACtD,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO;wBAC9B,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,IAAI,mBAAmB,GAAG;wBAC5C,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,mBAAmB,GAAG,CAAC;oBACzC,SAAS,CAAC,IAAI,CAAC;wBACb,WAAW,EAAE,2BAA2B,KAAK,CAAC,IAAI,EAAE;wBACpD,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,EAAE,CAAC,OAAO;4BAChB,CAAC,CAAC,8CAA8C,EAAE,CAAC,IAAI,IAAI,mBAAmB,2FAA2F;4BACzK,CAAC,CAAC,wCAAwC,EAAE,CAAC,IAAI,IAAI,mBAAmB,2FAA2F;wBACrK,SAAS,EAAE,mFAAmF;qBAC/F,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,uBAAuB;QACvB,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,0CAA0C;gBACvD,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,qCAAqC;gBAC7C,SAAS,EAAE,mBAAmB,EAAE,CAAC,IAAI,qCAAqC;aAC3E,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACO,yBAAyB,CAAC,EAAgB,EAAE,KAAoB;QACxE,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAE7C,wFAAwF;QACxF,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAU,EAAE;YACpE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,qCAAqC,IAAI,0GAA0G,CAAC;YAC7J,CAAC;YACD,OAAO,+BAA+B,IAAI,0GAA0G,CAAC;QACvJ,CAAC,CAAC;QAEF,wBAAwB;QACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,eAAe,GAAG,CAAC;YAEnD,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,kCAAkC,KAAK,CAAC,IAAI,EAAE;gBAC3D,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC;gBACjD,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,iBAAiB;YACjB,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,cAAc,GAAG,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,0BAA0B,KAAK,CAAC,IAAI,EAAE;gBACnD,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC;gBAChD,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU;iBACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,kBAAkB,GAAG,CAAC;YAEzD,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,oCAAoC,KAAK,CAAC,IAAI,EAAE;gBAC7D,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC;gBACpD,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO;gBAC1B,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,IAAI,eAAe,GAAG;gBACxC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,eAAe,GAAG,CAAC;YAErC,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,iCAAiC,KAAK,CAAC,IAAI,EAAE;gBAC1D,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,kBAAkB,SAAS,GAAG;gBACtC,SAAS,EAAE,+BAA+B;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACO,cAAc,CACtB,SAAyB,EACzB,OAAoB;QAEpB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACO,uBAAuB,CAC/B,OAAiB,EACjB,UAAkB,EAClB,UAAkB;QAElB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,UAAU,IAAI,CAAC;QAClE,CAAC;QACD,OAAO,eAAe,UAAU,UAAU,UAAU,IAAI,CAAC;IAC3D,CAAC;IAED;;OAEG;IACO,sBAAsB,CAAC,QAAmB;QAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,wBAAwB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,GAAW;QAC7B,OAAO,GAAG;aACP,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;aAC3D,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,GAAW;QAC9B,OAAO,GAAG;aACP,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;aAC3D,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,KAAe;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC"}
|
|
@@ -8,4 +8,5 @@ export { BaseTestGenerator } from './base-test-generator';
|
|
|
8
8
|
export { JestVitestGenerator } from './jest-vitest-generator';
|
|
9
9
|
export { MochaGenerator } from './mocha-generator';
|
|
10
10
|
export { PytestGenerator } from './pytest-generator';
|
|
11
|
+
export { NodeTestGenerator } from './node-test-generator';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -10,4 +10,5 @@ export { BaseTestGenerator } from './base-test-generator';
|
|
|
10
10
|
export { JestVitestGenerator } from './jest-vitest-generator';
|
|
11
11
|
export { MochaGenerator } from './mocha-generator';
|
|
12
12
|
export { PytestGenerator } from './pytest-generator';
|
|
13
|
+
export { NodeTestGenerator } from './node-test-generator';
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qCAAqC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qCAAqC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest-vitest-generator.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/jest-vitest-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;gBAEtB,SAAS,GAAE,MAAM,GAAG,QAAmB;IAKnD;;OAEG;IACH,OAAO,KAAK,QAAQ,GAEnB;IAED;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"jest-vitest-generator.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/jest-vitest-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;gBAEtB,SAAS,GAAE,MAAM,GAAG,QAAmB;IAKnD;;OAEG;IACH,OAAO,KAAK,QAAQ,GAEnB;IAED;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAmDrD;;OAEG;IACH,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IAqBpE;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAkC9D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2E3B;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAuEzD;;OAEG;IACH,qBAAqB,CACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,GACd,MAAM;IAoCT;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmE5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsD5B;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAyDlC"}
|
|
@@ -56,25 +56,33 @@ export class JestVitestGenerator extends BaseTestGenerator {
|
|
|
56
56
|
let testCode = `${patternComment}import { describe, it, expect, beforeEach${mockImport} } from '${this.framework}';
|
|
57
57
|
${importStatement}
|
|
58
58
|
`;
|
|
59
|
-
// KG: Generate mock declarations for
|
|
59
|
+
// KG: Generate mock declarations for external (non-relative) dependencies only.
|
|
60
|
+
// Relative imports (./foo, ../bar) are intra-module and must not be blanket-mocked,
|
|
61
|
+
// as that wipes out named exports the module under test depends on.
|
|
60
62
|
if (dependencies && dependencies.imports.length > 0) {
|
|
61
63
|
const mockFn = this.framework === 'vitest' ? 'vi.fn()' : 'jest.fn()';
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
const externalDeps = dependencies.imports.filter(dep => !dep.startsWith('.'));
|
|
65
|
+
if (externalDeps.length > 0) {
|
|
66
|
+
testCode += `\n// Auto-generated mocks from Knowledge Graph dependency analysis\n`;
|
|
67
|
+
for (const dep of externalDeps.slice(0, 10)) {
|
|
68
|
+
testCode += `${this.framework === 'vitest' ? 'vi' : 'jest'}.mock('${dep}', () => ({ default: ${mockFn} }));\n`;
|
|
69
|
+
}
|
|
70
|
+
testCode += `\n`;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
testCode += `\n`;
|
|
66
74
|
}
|
|
67
|
-
testCode += `\n`;
|
|
68
75
|
}
|
|
69
76
|
else {
|
|
70
77
|
testCode += `\n`;
|
|
71
78
|
}
|
|
72
|
-
//
|
|
73
|
-
|
|
79
|
+
// Bug #295 fix: Only generate tests for exported functions and classes
|
|
80
|
+
const exportedFns = analysis.functions.filter(fn => fn.isExported);
|
|
81
|
+
const exportedClasses = analysis.classes.filter(cls => cls.isExported);
|
|
82
|
+
for (const fn of exportedFns) {
|
|
74
83
|
testCode += this.generateFunctionTests(fn, testType);
|
|
75
84
|
}
|
|
76
|
-
|
|
77
|
-
for (const cls of analysis.classes) {
|
|
85
|
+
for (const cls of exportedClasses) {
|
|
78
86
|
testCode += this.generateClassTests(cls, testType);
|
|
79
87
|
}
|
|
80
88
|
return testCode;
|
|
@@ -140,21 +148,66 @@ ${importStatement}
|
|
|
140
148
|
const methodCall = method.isAsync
|
|
141
149
|
? `await instance.${method.name}(${validParams})`
|
|
142
150
|
: `instance.${method.name}(${validParams})`;
|
|
143
|
-
// Happy path test
|
|
151
|
+
// Happy path test — use smart assertion for void vs non-void return
|
|
144
152
|
const asyncPrefix = method.isAsync ? 'async ' : '';
|
|
153
|
+
const isVoid = method.returnType === 'void' || method.returnType === 'Promise<void>';
|
|
154
|
+
// Smart assertion based on method name and return type
|
|
155
|
+
let methodAssertion = 'expect(result).toBeDefined();';
|
|
156
|
+
if (!isVoid) {
|
|
157
|
+
if (/^(is|has|can)[A-Z]/.test(method.name)) {
|
|
158
|
+
methodAssertion = "expect(typeof result).toBe('boolean');";
|
|
159
|
+
}
|
|
160
|
+
else if (/^(get|fetch|find)[A-Z]/.test(method.name)) {
|
|
161
|
+
methodAssertion = 'expect(result).not.toBeUndefined();';
|
|
162
|
+
}
|
|
163
|
+
else if (/^(create|build|make)[A-Z]/.test(method.name)) {
|
|
164
|
+
methodAssertion = 'expect(result).toBeTruthy();';
|
|
165
|
+
}
|
|
166
|
+
else if (method.returnType) {
|
|
167
|
+
const mrt = method.returnType.toLowerCase().replace(/promise<(.+)>/, '$1');
|
|
168
|
+
if (mrt.includes('boolean'))
|
|
169
|
+
methodAssertion = "expect(typeof result).toBe('boolean');";
|
|
170
|
+
else if (mrt.includes('number'))
|
|
171
|
+
methodAssertion = "expect(typeof result).toBe('number');";
|
|
172
|
+
else if (mrt.includes('string'))
|
|
173
|
+
methodAssertion = "expect(typeof result).toBe('string');";
|
|
174
|
+
else if (mrt.includes('[]') || mrt.includes('array'))
|
|
175
|
+
methodAssertion = 'expect(Array.isArray(result)).toBe(true);';
|
|
176
|
+
}
|
|
177
|
+
}
|
|
145
178
|
code += ` it('should execute successfully', ${asyncPrefix}() => {\n`;
|
|
146
|
-
|
|
147
|
-
|
|
179
|
+
if (isVoid) {
|
|
180
|
+
code += ` ${methodCall};\n`;
|
|
181
|
+
code += ` // void return — no assertion on result needed\n`;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
code += ` const result = ${methodCall};\n`;
|
|
185
|
+
code += ` ${methodAssertion}\n`;
|
|
186
|
+
}
|
|
148
187
|
code += ` });\n`;
|
|
149
|
-
//
|
|
188
|
+
// Bug #295 fix: Only assert toThrow when method body has explicit throw/validation
|
|
189
|
+
const methodBody = method.body || '';
|
|
190
|
+
const methodThrows = /\bthrow\b/.test(methodBody) || /\bvalidat/i.test(methodBody);
|
|
150
191
|
for (const param of method.parameters) {
|
|
151
192
|
if (!param.optional) {
|
|
152
193
|
const paramsWithUndefined = method.parameters
|
|
153
194
|
.map((p) => (p.name === param.name ? 'undefined as any' : this.generateTestValue(p)))
|
|
154
195
|
.join(', ');
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
196
|
+
if (methodThrows) {
|
|
197
|
+
code += `\n it('should handle invalid ${param.name}', ${asyncPrefix}() => {\n`;
|
|
198
|
+
code += ` expect(() => instance.${method.name}(${paramsWithUndefined})).toThrow();\n`;
|
|
199
|
+
code += ` });\n`;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
// Use try-catch to handle both throwing (TypeError from property access) and non-throwing
|
|
203
|
+
code += `\n it('should handle undefined ${param.name}', ${asyncPrefix}() => {\n`;
|
|
204
|
+
code += ` try {\n`;
|
|
205
|
+
code += ` ${method.isAsync ? 'await ' : ''}instance.${method.name}(${paramsWithUndefined});\n`;
|
|
206
|
+
code += ` } catch (e) {\n`;
|
|
207
|
+
code += ` expect(e).toBeInstanceOf(Error);\n`;
|
|
208
|
+
code += ` }\n`;
|
|
209
|
+
code += ` });\n`;
|
|
210
|
+
}
|
|
158
211
|
}
|
|
159
212
|
}
|
|
160
213
|
code += ` });\n\n`;
|
|
@@ -169,13 +222,16 @@ ${importStatement}
|
|
|
169
222
|
const basicOpsTest = this.generateBasicOpsTest(moduleName, patterns);
|
|
170
223
|
const edgeCaseTest = this.generateEdgeCaseTest(moduleName, patterns);
|
|
171
224
|
const errorHandlingTest = this.generateErrorHandlingTest(moduleName, patterns);
|
|
172
|
-
// KG: Generate mock declarations for
|
|
225
|
+
// KG: Generate mock declarations for external (non-relative) dependencies only
|
|
173
226
|
let mockDeclarations = '';
|
|
174
227
|
if (dependencies && dependencies.imports.length > 0) {
|
|
175
228
|
const mockFn = this.framework === 'vitest' ? 'vi.fn()' : 'jest.fn()';
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
mockDeclarations +=
|
|
229
|
+
const externalDeps = dependencies.imports.filter(dep => !dep.startsWith('.'));
|
|
230
|
+
if (externalDeps.length > 0) {
|
|
231
|
+
mockDeclarations += `\n// Auto-generated mocks from Knowledge Graph dependency analysis\n`;
|
|
232
|
+
for (const dep of externalDeps.slice(0, 10)) {
|
|
233
|
+
mockDeclarations += `${this.mockUtil}.mock('${dep}', () => ({ default: ${mockFn} }));\n`;
|
|
234
|
+
}
|
|
179
235
|
}
|
|
180
236
|
}
|
|
181
237
|
// KG: Generate similarity-informed comment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest-vitest-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/jest-vitest-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jest-vitest-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/jest-vitest-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocha-generator.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/mocha-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAW;IAE5C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"mocha-generator.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/mocha-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAW;IAE5C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAuDrD;;OAEG;IACH,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IAgEpE;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IAiD/D;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAiHzD;;OAEG;IACH,qBAAqB,CACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,GACd,MAAM;CAgCV"}
|
|
@@ -42,12 +42,13 @@ export class MochaGenerator extends BaseTestGenerator {
|
|
|
42
42
|
const patternComment = this.generatePatternComment(patterns);
|
|
43
43
|
const exports = this.extractExports(analysis.functions, analysis.classes);
|
|
44
44
|
const importStatement = this.generateImportStatement(exports, importPath, moduleName);
|
|
45
|
-
// KG: Add sinon stubs for
|
|
45
|
+
// KG: Add sinon stubs for external (non-relative) dependencies only
|
|
46
46
|
let sinonImport = '';
|
|
47
47
|
let stubSetup = '';
|
|
48
|
-
|
|
48
|
+
const externalDeps = dependencies?.imports.filter(dep => !dep.startsWith('.')) || [];
|
|
49
|
+
if (externalDeps.length > 0) {
|
|
49
50
|
sinonImport = `import sinon from 'sinon';\n`;
|
|
50
|
-
const depsToMock =
|
|
51
|
+
const depsToMock = externalDeps.slice(0, 5);
|
|
51
52
|
stubSetup += ` // Auto-generated stubs from Knowledge Graph dependency analysis\n`;
|
|
52
53
|
stubSetup += ` let stubs;\n\n`;
|
|
53
54
|
stubSetup += ` beforeEach(function() {\n`;
|
|
@@ -67,10 +68,13 @@ ${sinonImport}${importStatement}
|
|
|
67
68
|
|
|
68
69
|
describe('${moduleName} - ${testType} tests', function() {
|
|
69
70
|
${stubSetup}`;
|
|
70
|
-
|
|
71
|
+
// Bug #295 fix: Only generate tests for exported functions and classes
|
|
72
|
+
const exportedFns = analysis.functions.filter(fn => fn.isExported);
|
|
73
|
+
const exportedClasses = analysis.classes.filter(cls => cls.isExported);
|
|
74
|
+
for (const fn of exportedFns) {
|
|
71
75
|
code += this.generateFunctionTests(fn, testType);
|
|
72
76
|
}
|
|
73
|
-
for (const cls of
|
|
77
|
+
for (const cls of exportedClasses) {
|
|
74
78
|
code += this.generateClassTests(cls, testType);
|
|
75
79
|
}
|
|
76
80
|
code += `});\n`;
|
|
@@ -82,20 +86,63 @@ ${stubSetup}`;
|
|
|
82
86
|
generateFunctionTests(fn, _testType) {
|
|
83
87
|
const validParams = fn.parameters.map((p) => this.generateTestValue(p)).join(', ');
|
|
84
88
|
const fnCall = fn.isAsync ? `await ${fn.name}(${validParams})` : `${fn.name}(${validParams})`;
|
|
89
|
+
const isVoid = fn.returnType === 'void' || fn.returnType === 'Promise<void>';
|
|
85
90
|
let code = ` describe('${fn.name}', function() {\n`;
|
|
91
|
+
// Smart assertion based on function name and return type
|
|
92
|
+
let chaiAssertion = 'expect(result).to.not.be.undefined;';
|
|
93
|
+
if (!isVoid) {
|
|
94
|
+
if (/^(is|has|can)[A-Z]/.test(fn.name)) {
|
|
95
|
+
chaiAssertion = "expect(typeof result).to.equal('boolean');";
|
|
96
|
+
}
|
|
97
|
+
else if (/^(get|fetch|find)[A-Z]/.test(fn.name)) {
|
|
98
|
+
chaiAssertion = 'expect(result).to.not.be.undefined;';
|
|
99
|
+
}
|
|
100
|
+
else if (/^(create|build|make)[A-Z]/.test(fn.name)) {
|
|
101
|
+
chaiAssertion = 'expect(result).to.be.ok;';
|
|
102
|
+
}
|
|
103
|
+
else if (fn.returnType) {
|
|
104
|
+
const rt = fn.returnType.toLowerCase().replace(/promise<(.+)>/, '$1');
|
|
105
|
+
if (rt.includes('boolean'))
|
|
106
|
+
chaiAssertion = "expect(typeof result).to.equal('boolean');";
|
|
107
|
+
else if (rt.includes('number'))
|
|
108
|
+
chaiAssertion = "expect(typeof result).to.equal('number');";
|
|
109
|
+
else if (rt.includes('string'))
|
|
110
|
+
chaiAssertion = "expect(typeof result).to.equal('string');";
|
|
111
|
+
else if (rt.includes('[]') || rt.includes('array'))
|
|
112
|
+
chaiAssertion = 'expect(result).to.be.an(\'array\');';
|
|
113
|
+
}
|
|
114
|
+
}
|
|
86
115
|
code += ` it('should handle valid input', ${fn.isAsync ? 'async ' : ''}function() {\n`;
|
|
87
|
-
|
|
88
|
-
|
|
116
|
+
if (isVoid) {
|
|
117
|
+
code += ` ${fnCall};\n`;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
code += ` const result = ${fnCall};\n`;
|
|
121
|
+
code += ` ${chaiAssertion}\n`;
|
|
122
|
+
}
|
|
89
123
|
code += ` });\n`;
|
|
90
|
-
//
|
|
124
|
+
// Bug #295 fix: Use try-catch instead of blanket .to.throw() for undefined params
|
|
125
|
+
const bodyText = fn.body || '';
|
|
126
|
+
const hasExplicitThrow = /\bthrow\b/.test(bodyText) || /\bvalidat/i.test(bodyText);
|
|
91
127
|
for (const param of fn.parameters) {
|
|
92
128
|
if (!param.optional) {
|
|
93
129
|
const paramsWithUndefined = fn.parameters
|
|
94
130
|
.map((p) => (p.name === param.name ? 'undefined' : this.generateTestValue(p)))
|
|
95
131
|
.join(', ');
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
132
|
+
if (hasExplicitThrow) {
|
|
133
|
+
code += `\n it('should handle undefined ${param.name}', function() {\n`;
|
|
134
|
+
code += ` expect(function() { ${fn.name}(${paramsWithUndefined}); }).to.throw();\n`;
|
|
135
|
+
code += ` });\n`;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
code += `\n it('should handle undefined ${param.name}', function() {\n`;
|
|
139
|
+
code += ` try {\n`;
|
|
140
|
+
code += ` ${fn.name}(${paramsWithUndefined});\n`;
|
|
141
|
+
code += ` } catch (e) {\n`;
|
|
142
|
+
code += ` expect(e).to.be.instanceOf(Error);\n`;
|
|
143
|
+
code += ` }\n`;
|
|
144
|
+
code += ` });\n`;
|
|
145
|
+
}
|
|
99
146
|
}
|
|
100
147
|
}
|
|
101
148
|
code += ` });\n\n`;
|
|
@@ -115,11 +162,38 @@ ${stubSetup}`;
|
|
|
115
162
|
code += ` expect(instance).to.be.instanceOf(${cls.name});\n`;
|
|
116
163
|
code += ` });\n`;
|
|
117
164
|
for (const method of cls.methods) {
|
|
118
|
-
if (!method.name.startsWith('_')) {
|
|
165
|
+
if (!method.name.startsWith('_') && !method.name.startsWith('#')) {
|
|
119
166
|
const methodParams = method.parameters.map((p) => this.generateTestValue(p)).join(', ');
|
|
167
|
+
const isMethodVoid = method.returnType === 'void' || method.returnType === 'Promise<void>';
|
|
168
|
+
// Smart assertion for methods
|
|
169
|
+
let methodAssertion = 'expect(result).to.not.be.undefined;';
|
|
170
|
+
if (!isMethodVoid) {
|
|
171
|
+
if (/^(is|has|can)[A-Z]/.test(method.name)) {
|
|
172
|
+
methodAssertion = "expect(typeof result).to.equal('boolean');";
|
|
173
|
+
}
|
|
174
|
+
else if (/^(create|build|make)[A-Z]/.test(method.name)) {
|
|
175
|
+
methodAssertion = 'expect(result).to.be.ok;';
|
|
176
|
+
}
|
|
177
|
+
else if (method.returnType) {
|
|
178
|
+
const mrt = method.returnType.toLowerCase().replace(/promise<(.+)>/, '$1');
|
|
179
|
+
if (mrt.includes('boolean'))
|
|
180
|
+
methodAssertion = "expect(typeof result).to.equal('boolean');";
|
|
181
|
+
else if (mrt.includes('number'))
|
|
182
|
+
methodAssertion = "expect(typeof result).to.equal('number');";
|
|
183
|
+
else if (mrt.includes('string'))
|
|
184
|
+
methodAssertion = "expect(typeof result).to.equal('string');";
|
|
185
|
+
else if (mrt.includes('[]') || mrt.includes('array'))
|
|
186
|
+
methodAssertion = "expect(result).to.be.an('array');";
|
|
187
|
+
}
|
|
188
|
+
}
|
|
120
189
|
code += `\n it('${method.name} should work', ${method.isAsync ? 'async ' : ''}function() {\n`;
|
|
121
|
-
|
|
122
|
-
|
|
190
|
+
if (isMethodVoid) {
|
|
191
|
+
code += ` ${method.isAsync ? 'await ' : ''}instance.${method.name}(${methodParams});\n`;
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
code += ` const result = ${method.isAsync ? 'await ' : ''}instance.${method.name}(${methodParams});\n`;
|
|
195
|
+
code += ` ${methodAssertion}\n`;
|
|
196
|
+
}
|
|
123
197
|
code += ` });\n`;
|
|
124
198
|
}
|
|
125
199
|
}
|
|
@@ -135,13 +209,14 @@ ${stubSetup}`;
|
|
|
135
209
|
// Determine if async tests needed based on patterns
|
|
136
210
|
const isAsync = patterns.some((p) => p.name.toLowerCase().includes('async') || p.name.toLowerCase().includes('promise'));
|
|
137
211
|
const asyncSetup = isAsync ? 'async ' : '';
|
|
138
|
-
// KG: Add sinon stubs for
|
|
212
|
+
// KG: Add sinon stubs for external (non-relative) dependencies only
|
|
139
213
|
let sinonImport = '';
|
|
140
214
|
let stubSetup = '';
|
|
141
215
|
let stubTeardown = '';
|
|
142
|
-
|
|
216
|
+
const stubExternalDeps = dependencies?.imports.filter(dep => !dep.startsWith('.')) || [];
|
|
217
|
+
if (stubExternalDeps.length > 0) {
|
|
143
218
|
sinonImport = `import sinon from 'sinon';\n`;
|
|
144
|
-
const depsToMock =
|
|
219
|
+
const depsToMock = stubExternalDeps.slice(0, 5);
|
|
145
220
|
stubSetup += `\n // Auto-generated stubs from Knowledge Graph dependency analysis\n`;
|
|
146
221
|
stubSetup += ` let stubs;\n\n`;
|
|
147
222
|
stubSetup += ` beforeEach(function() {\n`;
|