agentic-qe 3.6.15 → 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.
Files changed (51) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/package.json +1 -1
  3. package/v3/CHANGELOG.md +23 -0
  4. package/v3/dist/cli/bundle.js +362 -28
  5. package/v3/dist/cli/completions/index.d.ts +1 -1
  6. package/v3/dist/cli/completions/index.d.ts.map +1 -1
  7. package/v3/dist/cli/completions/index.js +1 -1
  8. package/v3/dist/cli/completions/index.js.map +1 -1
  9. package/v3/dist/cli/wizards/test-wizard.d.ts +1 -1
  10. package/v3/dist/cli/wizards/test-wizard.d.ts.map +1 -1
  11. package/v3/dist/cli/wizards/test-wizard.js +8 -1
  12. package/v3/dist/cli/wizards/test-wizard.js.map +1 -1
  13. package/v3/dist/coordination/task-executor.js.map +1 -1
  14. package/v3/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
  15. package/v3/dist/domains/test-generation/factories/test-generator-factory.js +4 -1
  16. package/v3/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
  17. package/v3/dist/domains/test-generation/generators/base-test-generator.d.ts.map +1 -1
  18. package/v3/dist/domains/test-generation/generators/base-test-generator.js +26 -1
  19. package/v3/dist/domains/test-generation/generators/base-test-generator.js.map +1 -1
  20. package/v3/dist/domains/test-generation/generators/index.d.ts +1 -0
  21. package/v3/dist/domains/test-generation/generators/index.d.ts.map +1 -1
  22. package/v3/dist/domains/test-generation/generators/index.js +1 -0
  23. package/v3/dist/domains/test-generation/generators/index.js.map +1 -1
  24. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.d.ts.map +1 -1
  25. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js +26 -2
  26. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js.map +1 -1
  27. package/v3/dist/domains/test-generation/generators/mocha-generator.d.ts.map +1 -1
  28. package/v3/dist/domains/test-generation/generators/mocha-generator.js +50 -5
  29. package/v3/dist/domains/test-generation/generators/mocha-generator.js.map +1 -1
  30. package/v3/dist/domains/test-generation/generators/node-test-generator.d.ts +54 -0
  31. package/v3/dist/domains/test-generation/generators/node-test-generator.d.ts.map +1 -0
  32. package/v3/dist/domains/test-generation/generators/node-test-generator.js +222 -0
  33. package/v3/dist/domains/test-generation/generators/node-test-generator.js.map +1 -0
  34. package/v3/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
  35. package/v3/dist/domains/test-generation/generators/pytest-generator.js +47 -5
  36. package/v3/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
  37. package/v3/dist/domains/test-generation/interfaces/test-generator.interface.d.ts +1 -1
  38. package/v3/dist/domains/test-generation/interfaces/test-generator.interface.d.ts.map +1 -1
  39. package/v3/dist/domains/test-generation/interfaces.d.ts +2 -2
  40. package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  41. package/v3/dist/domains/test-generation/plugin.js.map +1 -1
  42. package/v3/dist/domains/test-generation/services/pattern-matcher.js +32 -6
  43. package/v3/dist/domains/test-generation/services/pattern-matcher.js.map +1 -1
  44. package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  45. package/v3/dist/domains/test-generation/services/test-generator.js +31 -6
  46. package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
  47. package/v3/dist/mcp/bundle.js +359 -25
  48. package/v3/dist/mcp/tools/test-generation/generate.d.ts +1 -1
  49. package/v3/dist/mcp/tools/test-generation/generate.d.ts.map +1 -1
  50. package/v3/dist/mcp/tools/test-generation/generate.js.map +1 -1
  51. package/v3/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"test-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/services/test-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/services/test-generator.ts"],"names":[],"mappings":"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"}
@@ -38683,11 +38683,27 @@ var BaseTestGenerator = class _BaseTestGenerator {
38683
38683
  const validParams = fn.parameters.map((p74) => this.generateTestValue(p74)).join(", ");
38684
38684
  const fnCall = fn.isAsync ? `await ${fn.name}(${validParams})` : `${fn.name}(${validParams})`;
38685
38685
  const isVoid = fn.returnType === "void" || fn.returnType === "Promise<void>";
38686
+ let assertion = "expect(result).toBeDefined();";
38687
+ if (!isVoid) {
38688
+ if (/^(is|has|can)[A-Z]/.test(fn.name)) {
38689
+ assertion = "expect(typeof result).toBe('boolean');";
38690
+ } else if (/^(get|fetch|find)[A-Z]/.test(fn.name)) {
38691
+ assertion = "expect(result).not.toBeUndefined();";
38692
+ } else if (/^(create|build|make)[A-Z]/.test(fn.name)) {
38693
+ assertion = "expect(result).toBeTruthy();";
38694
+ } else if (fn.returnType) {
38695
+ const rt3 = fn.returnType.toLowerCase().replace(/promise<(.+)>/, "$1");
38696
+ if (rt3.includes("boolean")) assertion = "expect(typeof result).toBe('boolean');";
38697
+ else if (rt3.includes("number")) assertion = "expect(typeof result).toBe('number');";
38698
+ else if (rt3.includes("string")) assertion = "expect(typeof result).toBe('string');";
38699
+ else if (rt3.includes("[]") || rt3.includes("array")) assertion = "expect(Array.isArray(result)).toBe(true);";
38700
+ }
38701
+ }
38686
38702
  testCases.push({
38687
38703
  description: "should handle valid input correctly",
38688
38704
  type: "happy-path",
38689
38705
  action: isVoid ? `${fnCall};` : `const result = ${fnCall};`,
38690
- assertion: isVoid ? `// void function \u2014 no return value to assert` : "expect(result).toBeDefined();"
38706
+ assertion: isVoid ? `// void function \u2014 no return value to assert` : assertion
38691
38707
  });
38692
38708
  const bodyText = fn.body || "";
38693
38709
  const hasExplicitThrow = /\bthrow\b/.test(bodyText) || /\bvalidat/i.test(bodyText);
@@ -38992,6 +39008,22 @@ ${importStatement}
38992
39008
  const methodCall = method.isAsync ? `await instance.${method.name}(${validParams})` : `instance.${method.name}(${validParams})`;
38993
39009
  const asyncPrefix = method.isAsync ? "async " : "";
38994
39010
  const isVoid = method.returnType === "void" || method.returnType === "Promise<void>";
39011
+ let methodAssertion = "expect(result).toBeDefined();";
39012
+ if (!isVoid) {
39013
+ if (/^(is|has|can)[A-Z]/.test(method.name)) {
39014
+ methodAssertion = "expect(typeof result).toBe('boolean');";
39015
+ } else if (/^(get|fetch|find)[A-Z]/.test(method.name)) {
39016
+ methodAssertion = "expect(result).not.toBeUndefined();";
39017
+ } else if (/^(create|build|make)[A-Z]/.test(method.name)) {
39018
+ methodAssertion = "expect(result).toBeTruthy();";
39019
+ } else if (method.returnType) {
39020
+ const mrt = method.returnType.toLowerCase().replace(/promise<(.+)>/, "$1");
39021
+ if (mrt.includes("boolean")) methodAssertion = "expect(typeof result).toBe('boolean');";
39022
+ else if (mrt.includes("number")) methodAssertion = "expect(typeof result).toBe('number');";
39023
+ else if (mrt.includes("string")) methodAssertion = "expect(typeof result).toBe('string');";
39024
+ else if (mrt.includes("[]") || mrt.includes("array")) methodAssertion = "expect(Array.isArray(result)).toBe(true);";
39025
+ }
39026
+ }
38995
39027
  code += ` it('should execute successfully', ${asyncPrefix}() => {
38996
39028
  `;
38997
39029
  if (isVoid) {
@@ -39002,7 +39034,7 @@ ${importStatement}
39002
39034
  } else {
39003
39035
  code += ` const result = ${methodCall};
39004
39036
  `;
39005
- code += ` expect(result).toBeDefined();
39037
+ code += ` ${methodAssertion}
39006
39038
  `;
39007
39039
  }
39008
39040
  code += ` });
@@ -39399,6 +39431,22 @@ ${stubSetup}`;
39399
39431
  const isVoid = fn.returnType === "void" || fn.returnType === "Promise<void>";
39400
39432
  let code = ` describe('${fn.name}', function() {
39401
39433
  `;
39434
+ let chaiAssertion = "expect(result).to.not.be.undefined;";
39435
+ if (!isVoid) {
39436
+ if (/^(is|has|can)[A-Z]/.test(fn.name)) {
39437
+ chaiAssertion = "expect(typeof result).to.equal('boolean');";
39438
+ } else if (/^(get|fetch|find)[A-Z]/.test(fn.name)) {
39439
+ chaiAssertion = "expect(result).to.not.be.undefined;";
39440
+ } else if (/^(create|build|make)[A-Z]/.test(fn.name)) {
39441
+ chaiAssertion = "expect(result).to.be.ok;";
39442
+ } else if (fn.returnType) {
39443
+ const rt3 = fn.returnType.toLowerCase().replace(/promise<(.+)>/, "$1");
39444
+ if (rt3.includes("boolean")) chaiAssertion = "expect(typeof result).to.equal('boolean');";
39445
+ else if (rt3.includes("number")) chaiAssertion = "expect(typeof result).to.equal('number');";
39446
+ else if (rt3.includes("string")) chaiAssertion = "expect(typeof result).to.equal('string');";
39447
+ else if (rt3.includes("[]") || rt3.includes("array")) chaiAssertion = "expect(result).to.be.an('array');";
39448
+ }
39449
+ }
39402
39450
  code += ` it('should handle valid input', ${fn.isAsync ? "async " : ""}function() {
39403
39451
  `;
39404
39452
  if (isVoid) {
@@ -39407,7 +39455,7 @@ ${stubSetup}`;
39407
39455
  } else {
39408
39456
  code += ` const result = ${fnCall};
39409
39457
  `;
39410
- code += ` expect(result).to.not.be.undefined;
39458
+ code += ` ${chaiAssertion}
39411
39459
  `;
39412
39460
  }
39413
39461
  code += ` });
@@ -39473,19 +39521,33 @@ ${stubSetup}`;
39473
39521
  code += ` });
39474
39522
  `;
39475
39523
  for (const method of cls.methods) {
39476
- if (!method.name.startsWith("_")) {
39524
+ if (!method.name.startsWith("_") && !method.name.startsWith("#")) {
39477
39525
  const methodParams = method.parameters.map((p74) => this.generateTestValue(p74)).join(", ");
39478
- const isVoid = method.returnType === "void" || method.returnType === "Promise<void>";
39526
+ const isMethodVoid = method.returnType === "void" || method.returnType === "Promise<void>";
39527
+ let methodAssertion = "expect(result).to.not.be.undefined;";
39528
+ if (!isMethodVoid) {
39529
+ if (/^(is|has|can)[A-Z]/.test(method.name)) {
39530
+ methodAssertion = "expect(typeof result).to.equal('boolean');";
39531
+ } else if (/^(create|build|make)[A-Z]/.test(method.name)) {
39532
+ methodAssertion = "expect(result).to.be.ok;";
39533
+ } else if (method.returnType) {
39534
+ const mrt = method.returnType.toLowerCase().replace(/promise<(.+)>/, "$1");
39535
+ if (mrt.includes("boolean")) methodAssertion = "expect(typeof result).to.equal('boolean');";
39536
+ else if (mrt.includes("number")) methodAssertion = "expect(typeof result).to.equal('number');";
39537
+ else if (mrt.includes("string")) methodAssertion = "expect(typeof result).to.equal('string');";
39538
+ else if (mrt.includes("[]") || mrt.includes("array")) methodAssertion = "expect(result).to.be.an('array');";
39539
+ }
39540
+ }
39479
39541
  code += `
39480
39542
  it('${method.name} should work', ${method.isAsync ? "async " : ""}function() {
39481
39543
  `;
39482
- if (isVoid) {
39544
+ if (isMethodVoid) {
39483
39545
  code += ` ${method.isAsync ? "await " : ""}instance.${method.name}(${methodParams});
39484
39546
  `;
39485
39547
  } else {
39486
39548
  code += ` const result = ${method.isAsync ? "await " : ""}instance.${method.name}(${methodParams});
39487
39549
  `;
39488
- code += ` expect(result).to.not.be.undefined;
39550
+ code += ` ${methodAssertion}
39489
39551
  `;
39490
39552
  }
39491
39553
  code += ` });
@@ -39734,6 +39796,20 @@ class Test${this.pascalCase(moduleName)}:
39734
39796
  `;
39735
39797
  code += ` """Test ${fn.name} with valid input"""
39736
39798
  `;
39799
+ let pyAssertion = "assert result is not None";
39800
+ if (!isVoid) {
39801
+ if (/^(is|has|can)[A-Z]/.test(fn.name)) {
39802
+ pyAssertion = "assert isinstance(result, bool)";
39803
+ } else if (/^(create|build|make)[A-Z]/.test(fn.name)) {
39804
+ pyAssertion = "assert result";
39805
+ } else if (fn.returnType) {
39806
+ const rt3 = fn.returnType.toLowerCase().replace(/promise<(.+)>/, "$1");
39807
+ if (rt3.includes("boolean") || rt3.includes("bool")) pyAssertion = "assert isinstance(result, bool)";
39808
+ else if (rt3.includes("number") || rt3.includes("int") || rt3.includes("float")) pyAssertion = "assert isinstance(result, (int, float))";
39809
+ else if (rt3.includes("string") || rt3.includes("str")) pyAssertion = "assert isinstance(result, str)";
39810
+ else if (rt3.includes("[]") || rt3.includes("array") || rt3.includes("list")) pyAssertion = "assert isinstance(result, list)";
39811
+ }
39812
+ }
39737
39813
  if (isVoid) {
39738
39814
  code += ` ${fn.name}(${validParams}) # void function
39739
39815
 
@@ -39741,7 +39817,7 @@ class Test${this.pascalCase(moduleName)}:
39741
39817
  } else {
39742
39818
  code += ` result = ${fn.name}(${validParams})
39743
39819
  `;
39744
- code += ` assert result is not None
39820
+ code += ` ${pyAssertion}
39745
39821
 
39746
39822
  `;
39747
39823
  }
@@ -39785,19 +39861,33 @@ class Test${cls.name}:
39785
39861
 
39786
39862
  `;
39787
39863
  for (const method of cls.methods) {
39788
- if (!method.name.startsWith("_")) {
39864
+ if (!method.name.startsWith("_") && !method.name.startsWith("#")) {
39789
39865
  const methodParams = method.parameters.map((p74) => this.generatePythonTestValue(p74)).join(", ");
39790
- const isVoid = method.returnType === "void" || method.returnType === "Promise<void>";
39866
+ const isMethodVoid = method.returnType === "void" || method.returnType === "Promise<void>";
39867
+ let mAssertion = "assert result is not None";
39868
+ if (!isMethodVoid) {
39869
+ if (/^(is|has|can)[A-Z]/.test(method.name)) {
39870
+ mAssertion = "assert isinstance(result, bool)";
39871
+ } else if (/^(create|build|make)[A-Z]/.test(method.name)) {
39872
+ mAssertion = "assert result";
39873
+ } else if (method.returnType) {
39874
+ const mrt = method.returnType.toLowerCase().replace(/promise<(.+)>/, "$1");
39875
+ if (mrt.includes("boolean") || mrt.includes("bool")) mAssertion = "assert isinstance(result, bool)";
39876
+ else if (mrt.includes("number") || mrt.includes("int") || mrt.includes("float")) mAssertion = "assert isinstance(result, (int, float))";
39877
+ else if (mrt.includes("string") || mrt.includes("str")) mAssertion = "assert isinstance(result, str)";
39878
+ else if (mrt.includes("[]") || mrt.includes("array") || mrt.includes("list")) mAssertion = "assert isinstance(result, list)";
39879
+ }
39880
+ }
39791
39881
  code += ` def test_${method.name}(self, instance):
39792
39882
  `;
39793
- if (isVoid) {
39883
+ if (isMethodVoid) {
39794
39884
  code += ` instance.${method.name}(${methodParams})
39795
39885
 
39796
39886
  `;
39797
39887
  } else {
39798
39888
  code += ` result = instance.${method.name}(${methodParams})
39799
39889
  `;
39800
- code += ` assert result is not None
39890
+ code += ` ${mAssertion}
39801
39891
 
39802
39892
  `;
39803
39893
  }
@@ -39985,12 +40075,214 @@ class Test${this.pascalCase(moduleName)}Coverage:
39985
40075
  }
39986
40076
  };
39987
40077
 
40078
+ // src/domains/test-generation/generators/node-test-generator.ts
40079
+ var NodeTestGenerator = class extends BaseTestGenerator {
40080
+ framework = "node-test";
40081
+ /**
40082
+ * Generate complete test file from analysis
40083
+ */
40084
+ generateTests(context) {
40085
+ const { moduleName, importPath, testType, patterns, analysis } = context;
40086
+ if (!analysis || analysis.functions.length === 0 && analysis.classes.length === 0) {
40087
+ return this.generateStubTests(context);
40088
+ }
40089
+ const patternComment = this.generatePatternComment(patterns);
40090
+ const exportedFunctions = analysis.functions.filter((fn) => fn.isExported);
40091
+ const exportedClasses = analysis.classes.filter((cls) => cls.isExported);
40092
+ const exports = this.extractExports(exportedFunctions, exportedClasses);
40093
+ const importStatement = this.generateImportStatement(exports, importPath, moduleName);
40094
+ let testCode = `${patternComment}import { describe, it, beforeEach } from 'node:test';
40095
+ import assert from 'node:assert';
40096
+ ${importStatement}
40097
+
40098
+ `;
40099
+ for (const fn of exportedFunctions) {
40100
+ testCode += this.generateFunctionTests(fn, testType);
40101
+ }
40102
+ for (const cls of exportedClasses) {
40103
+ testCode += this.generateClassTests(cls, testType);
40104
+ }
40105
+ return testCode;
40106
+ }
40107
+ /**
40108
+ * Generate tests for a standalone function
40109
+ */
40110
+ generateFunctionTests(fn, _testType) {
40111
+ const testCases = this.generateTestCasesForFunction(fn);
40112
+ let code = `describe('${fn.name}', () => {
40113
+ `;
40114
+ for (const testCase of testCases) {
40115
+ if (testCase.setup) {
40116
+ code += ` ${testCase.setup}
40117
+
40118
+ `;
40119
+ }
40120
+ const asyncPrefix = fn.isAsync ? "async " : "";
40121
+ code += ` it('${testCase.description}', ${asyncPrefix}() => {
40122
+ `;
40123
+ code += ` ${this.convertToAssert(testCase.action)}
40124
+ `;
40125
+ code += ` ${this.convertToAssert(testCase.assertion)}
40126
+ `;
40127
+ code += ` });
40128
+
40129
+ `;
40130
+ }
40131
+ code += `});
40132
+
40133
+ `;
40134
+ return code;
40135
+ }
40136
+ /**
40137
+ * Generate tests for a class
40138
+ */
40139
+ generateClassTests(cls, testType) {
40140
+ let code = `describe('${cls.name}', () => {
40141
+ `;
40142
+ code += ` let instance;
40143
+
40144
+ `;
40145
+ const constructorArgs = cls.constructorParams?.map((p74) => this.generateTestValue(p74)).join(", ") || "";
40146
+ code += ` beforeEach(() => {
40147
+ `;
40148
+ code += ` instance = new ${cls.name}(${constructorArgs});
40149
+ `;
40150
+ code += ` });
40151
+
40152
+ `;
40153
+ code += ` it('should instantiate correctly', () => {
40154
+ `;
40155
+ code += ` assert.ok(instance instanceof ${cls.name});
40156
+ `;
40157
+ code += ` });
40158
+
40159
+ `;
40160
+ for (const method of cls.methods) {
40161
+ if (!method.name.startsWith("_") && !method.name.startsWith("#")) {
40162
+ code += this.generateMethodTest(method);
40163
+ }
40164
+ }
40165
+ code += `});
40166
+
40167
+ `;
40168
+ return code;
40169
+ }
40170
+ /**
40171
+ * Generate test for a class method
40172
+ */
40173
+ generateMethodTest(method) {
40174
+ const validParams = method.parameters.map((p74) => this.generateTestValue(p74)).join(", ");
40175
+ const isVoid = method.returnType === "void" || method.returnType === "Promise<void>";
40176
+ const asyncPrefix = method.isAsync ? "async " : "";
40177
+ const methodCall = method.isAsync ? `await instance.${method.name}(${validParams})` : `instance.${method.name}(${validParams})`;
40178
+ let assertLine = "assert.ok(result !== undefined);";
40179
+ if (!isVoid) {
40180
+ const mLower = method.name.toLowerCase();
40181
+ if (/^(is|has|can)[A-Z]/.test(method.name)) {
40182
+ assertLine = "assert.strictEqual(typeof result, 'boolean');";
40183
+ } else if (/^(get|fetch|find)[A-Z]/.test(method.name)) {
40184
+ assertLine = "assert.ok(result !== undefined);";
40185
+ } else if (/^(create|build|make)[A-Z]/.test(method.name)) {
40186
+ assertLine = "assert.ok(result);";
40187
+ } else if (method.returnType) {
40188
+ const rt3 = method.returnType.toLowerCase().replace(/promise<(.+)>/, "$1");
40189
+ if (rt3.includes("boolean")) assertLine = "assert.strictEqual(typeof result, 'boolean');";
40190
+ else if (rt3.includes("number")) assertLine = "assert.strictEqual(typeof result, 'number');";
40191
+ else if (rt3.includes("string")) assertLine = "assert.strictEqual(typeof result, 'string');";
40192
+ else if (rt3.includes("[]") || rt3.includes("array")) assertLine = "assert.ok(Array.isArray(result));";
40193
+ }
40194
+ }
40195
+ let code = ` it('${method.name} should execute successfully', ${asyncPrefix}() => {
40196
+ `;
40197
+ if (isVoid) {
40198
+ code += ` ${methodCall};
40199
+ `;
40200
+ } else {
40201
+ code += ` const result = ${methodCall};
40202
+ `;
40203
+ code += ` ${assertLine}
40204
+ `;
40205
+ }
40206
+ code += ` });
40207
+
40208
+ `;
40209
+ return code;
40210
+ }
40211
+ /**
40212
+ * Generate stub tests when no AST analysis is available
40213
+ */
40214
+ generateStubTests(context) {
40215
+ const { moduleName, importPath, testType, patterns } = context;
40216
+ const patternComment = this.generatePatternComment(patterns);
40217
+ return `${patternComment}import { describe, it } from 'node:test';
40218
+ import assert from 'node:assert';
40219
+ import { ${moduleName} } from '${importPath}';
40220
+
40221
+ describe('${moduleName}', () => {
40222
+ describe('${testType} tests', () => {
40223
+ it('should be defined', () => {
40224
+ assert.ok(${moduleName} !== undefined);
40225
+ });
40226
+
40227
+ it('should handle basic operations', () => {
40228
+ const moduleType = typeof ${moduleName};
40229
+ assert.ok(['function', 'object'].includes(moduleType));
40230
+ });
40231
+
40232
+ it('should handle error conditions', () => {
40233
+ assert.doesNotThrow(() => {
40234
+ const instance = typeof ${moduleName} === 'function'
40235
+ ? new ${moduleName}()
40236
+ : ${moduleName};
40237
+ return instance;
40238
+ });
40239
+ });
40240
+ });
40241
+ });
40242
+ `;
40243
+ }
40244
+ /**
40245
+ * Generate coverage-focused tests for specific lines
40246
+ */
40247
+ generateCoverageTests(moduleName, importPath, lines) {
40248
+ const funcName = this.camelCase(moduleName);
40249
+ const lineRange = this.formatLineRange(lines);
40250
+ return `// Coverage test for ${lineRange} in ${moduleName}
40251
+ import { describe, it } from 'node:test';
40252
+ import assert from 'node:assert';
40253
+ import { ${funcName} } from '${importPath}';
40254
+
40255
+ describe('${moduleName} coverage', () => {
40256
+ it('should exercise code path covering ${lineRange}', () => {
40257
+ const testInput = undefined; // Replace with appropriate input
40258
+ const result = ${funcName}(testInput);
40259
+ assert.ok(result !== undefined || result === undefined);
40260
+ });
40261
+
40262
+ it('should handle edge case for ${lineRange}', () => {
40263
+ assert.doesNotThrow(() => ${funcName}(null));
40264
+ });
40265
+ });
40266
+ `;
40267
+ }
40268
+ // ============================================================================
40269
+ // Helpers
40270
+ // ============================================================================
40271
+ /**
40272
+ * Convert expect() style assertions to node:assert
40273
+ */
40274
+ convertToAssert(assertion) {
40275
+ return assertion.replace(/expect\(typeof ([^)]+)\)\.toBe\('([^']+)'\);?/g, "assert.strictEqual(typeof $1, '$2');").replace(/expect\(Array\.isArray\(([^)]+)\)\)\.toBe\(true\);?/g, "assert.ok(Array.isArray($1));").replace(/expect\(([^)]+)\)\.toThrow\(\);?/g, "assert.throws($1);").replace(/expect\(([^)]+)\)\.not\.toThrow\(\);?/g, "assert.doesNotThrow($1);").replace(/expect\(([^)]+)\)\.toBeInstanceOf\(([^)]+)\);?/g, "assert.ok($1 instanceof $2);").replace(/expect\(([^)]+)\)\.toBeDefined\(\);?/g, "assert.ok($1 !== undefined);").replace(/expect\(([^)]+)\)\.not\.toBeUndefined\(\);?/g, "assert.ok($1 !== undefined);").replace(/expect\(([^)]+)\)\.toBeUndefined\(\);?/g, "assert.strictEqual($1, undefined);").replace(/expect\(([^)]+)\)\.toBeTruthy\(\);?/g, "assert.ok($1);").replace(/expect\(([^)]+)\)\.toBeFalsy\(\);?/g, "assert.ok(!$1);").replace(/expect\(([^)]+)\)\.toBe\(([^)]+)\);?/g, "assert.strictEqual($1, $2);").replace(/expect\(([^)]+)\)\.toEqual\(([^)]+)\);?/g, "assert.deepStrictEqual($1, $2);");
40276
+ }
40277
+ };
40278
+
39988
40279
  // src/domains/test-generation/factories/test-generator-factory.ts
39989
40280
  var SUPPORTED_FRAMEWORKS = [
39990
40281
  "jest",
39991
40282
  "vitest",
39992
40283
  "mocha",
39993
- "pytest"
40284
+ "pytest",
40285
+ "node-test"
39994
40286
  ];
39995
40287
  var DEFAULT_FRAMEWORK = "vitest";
39996
40288
  var TestGeneratorFactory = class {
@@ -40052,6 +40344,8 @@ var TestGeneratorFactory = class {
40052
40344
  return new MochaGenerator();
40053
40345
  case "pytest":
40054
40346
  return new PytestGenerator();
40347
+ case "node-test":
40348
+ return new NodeTestGenerator();
40055
40349
  default:
40056
40350
  throw new Error(`Unsupported test framework: ${framework}`);
40057
40351
  }
@@ -41399,12 +41693,32 @@ ${sourceCode}
41399
41693
  };
41400
41694
  }
41401
41695
  extractParameters(params, sourceFile) {
41402
- return params.map((param) => ({
41403
- name: param.name.getText(sourceFile),
41404
- type: param.type?.getText(sourceFile),
41405
- optional: param.questionToken !== void 0,
41406
- defaultValue: param.initializer?.getText(sourceFile)
41407
- }));
41696
+ let objectDestructureCount = 0;
41697
+ let arrayDestructureCount = 0;
41698
+ return params.map((param) => {
41699
+ let name = param.name.getText(sourceFile);
41700
+ let type = param.type?.getText(sourceFile);
41701
+ if (ts.isObjectBindingPattern(param.name)) {
41702
+ objectDestructureCount++;
41703
+ name = objectDestructureCount > 1 ? `options${objectDestructureCount}` : "options";
41704
+ if (!type) {
41705
+ const props = param.name.elements.map((el) => `${el.name.getText(sourceFile)}: unknown`).join(", ");
41706
+ type = `{ ${props} }`;
41707
+ }
41708
+ } else if (ts.isArrayBindingPattern(param.name)) {
41709
+ arrayDestructureCount++;
41710
+ name = arrayDestructureCount > 1 ? `items${arrayDestructureCount}` : "items";
41711
+ if (!type) {
41712
+ type = "unknown[]";
41713
+ }
41714
+ }
41715
+ return {
41716
+ name,
41717
+ type,
41718
+ optional: param.questionToken !== void 0,
41719
+ defaultValue: param.initializer?.getText(sourceFile)
41720
+ };
41721
+ });
41408
41722
  }
41409
41723
  calculateComplexity(node) {
41410
41724
  let complexity = 1;
@@ -43419,12 +43733,32 @@ var TypeScriptASTParser = class {
43419
43733
  * Extract parameter information
43420
43734
  */
43421
43735
  extractParameters(params, sourceFile) {
43422
- return params.map((param) => ({
43423
- name: param.name.getText(sourceFile),
43424
- type: param.type?.getText(sourceFile),
43425
- optional: param.questionToken !== void 0,
43426
- defaultValue: param.initializer?.getText(sourceFile)
43427
- }));
43736
+ let objectDestructureCount = 0;
43737
+ let arrayDestructureCount = 0;
43738
+ return params.map((param) => {
43739
+ let name = param.name.getText(sourceFile);
43740
+ let type = param.type?.getText(sourceFile);
43741
+ if (ts2.isObjectBindingPattern(param.name)) {
43742
+ objectDestructureCount++;
43743
+ name = objectDestructureCount > 1 ? `options${objectDestructureCount}` : "options";
43744
+ if (!type) {
43745
+ const props = param.name.elements.map((el) => `${el.name.getText(sourceFile)}: unknown`).join(", ");
43746
+ type = `{ ${props} }`;
43747
+ }
43748
+ } else if (ts2.isArrayBindingPattern(param.name)) {
43749
+ arrayDestructureCount++;
43750
+ name = arrayDestructureCount > 1 ? `items${arrayDestructureCount}` : "items";
43751
+ if (!type) {
43752
+ type = "unknown[]";
43753
+ }
43754
+ }
43755
+ return {
43756
+ name,
43757
+ type,
43758
+ optional: param.questionToken !== void 0,
43759
+ defaultValue: param.initializer?.getText(sourceFile)
43760
+ };
43761
+ });
43428
43762
  }
43429
43763
  /**
43430
43764
  * Calculate cyclomatic complexity of a node
@@ -11,7 +11,7 @@ import { ToolResult } from '../../types';
11
11
  export interface TestGenerateParams {
12
12
  sourceFiles: string[];
13
13
  testType?: 'unit' | 'integration' | 'e2e';
14
- framework?: 'jest' | 'vitest' | 'mocha' | 'pytest';
14
+ framework?: 'jest' | 'vitest' | 'mocha' | 'pytest' | 'node-test';
15
15
  language?: 'typescript' | 'javascript' | 'python' | 'java' | 'go';
16
16
  coverageTarget?: number;
17
17
  patterns?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/test-generation/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAyC,MAAM,SAAS,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnD,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACvF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAO5B;IAEF,OAAO,CAAC,oBAAoB,CAAqC;IAEjE;;;OAGG;YACW,UAAU;IAgBlB,OAAO,CACX,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAyH1C;;;OAGG;IACM,kBAAkB,IAAI,IAAI;CAGpC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/test-generation/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAyC,MAAM,SAAS,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;IACjE,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACvF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAO5B;IAEF,OAAO,CAAC,oBAAoB,CAAqC;IAEjE;;;OAGG;YACW,UAAU;IAgBlB,OAAO,CACX,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAyH1C;;;OAGG;IACM,kBAAkB,IAAI,IAAI;CAGpC"}