agentic-qe 3.6.18 → 3.7.0

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 (166) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/README.md +29 -1
  3. package/package.json +2 -1
  4. package/scripts/rvf-baseline-benchmark.ts +843 -0
  5. package/v3/CHANGELOG.md +53 -0
  6. package/v3/dist/audit/witness-chain.d.ts +148 -0
  7. package/v3/dist/audit/witness-chain.d.ts.map +1 -0
  8. package/v3/dist/audit/witness-chain.js +269 -0
  9. package/v3/dist/audit/witness-chain.js.map +1 -0
  10. package/v3/dist/cli/brain-commands.d.ts +39 -0
  11. package/v3/dist/cli/brain-commands.d.ts.map +1 -0
  12. package/v3/dist/cli/brain-commands.js +60 -0
  13. package/v3/dist/cli/brain-commands.js.map +1 -0
  14. package/v3/dist/cli/bundle.js +4604 -2486
  15. package/v3/dist/cli/command-registry.d.ts.map +1 -1
  16. package/v3/dist/cli/command-registry.js +3 -1
  17. package/v3/dist/cli/command-registry.js.map +1 -1
  18. package/v3/dist/cli/commands/hooks.js +4 -4
  19. package/v3/dist/cli/commands/hooks.js.map +1 -1
  20. package/v3/dist/cli/commands/learning-helpers.js +2 -2
  21. package/v3/dist/cli/commands/learning-helpers.js.map +1 -1
  22. package/v3/dist/cli/handlers/brain-handler.d.ts +22 -0
  23. package/v3/dist/cli/handlers/brain-handler.d.ts.map +1 -0
  24. package/v3/dist/cli/handlers/brain-handler.js +148 -0
  25. package/v3/dist/cli/handlers/brain-handler.js.map +1 -0
  26. package/v3/dist/cli/handlers/index.d.ts +1 -0
  27. package/v3/dist/cli/handlers/index.d.ts.map +1 -1
  28. package/v3/dist/cli/handlers/index.js +1 -0
  29. package/v3/dist/cli/handlers/index.js.map +1 -1
  30. package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
  31. package/v3/dist/coordination/queen-coordinator.js +18 -12
  32. package/v3/dist/coordination/queen-coordinator.js.map +1 -1
  33. package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts +31 -44
  34. package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
  35. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +73 -178
  36. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
  37. package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
  38. package/v3/dist/domains/quality-assessment/coordinator.js +8 -0
  39. package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
  40. package/v3/dist/domains/test-execution/coordinator.d.ts +14 -0
  41. package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
  42. package/v3/dist/domains/test-execution/coordinator.js +18 -0
  43. package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
  44. package/v3/dist/domains/test-execution/services/index.d.ts +1 -0
  45. package/v3/dist/domains/test-execution/services/index.d.ts.map +1 -1
  46. package/v3/dist/domains/test-execution/services/index.js +1 -0
  47. package/v3/dist/domains/test-execution/services/index.js.map +1 -1
  48. package/v3/dist/domains/test-execution/services/mincut-test-optimizer.d.ts +118 -0
  49. package/v3/dist/domains/test-execution/services/mincut-test-optimizer.d.ts.map +1 -0
  50. package/v3/dist/domains/test-execution/services/mincut-test-optimizer.js +358 -0
  51. package/v3/dist/domains/test-execution/services/mincut-test-optimizer.js.map +1 -0
  52. package/v3/dist/domains/test-generation/generators/base-test-generator.d.ts.map +1 -1
  53. package/v3/dist/domains/test-generation/generators/base-test-generator.js +13 -3
  54. package/v3/dist/domains/test-generation/generators/base-test-generator.js.map +1 -1
  55. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.d.ts.map +1 -1
  56. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js +12 -3
  57. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js.map +1 -1
  58. package/v3/dist/domains/test-generation/generators/mocha-generator.d.ts.map +1 -1
  59. package/v3/dist/domains/test-generation/generators/mocha-generator.js +22 -6
  60. package/v3/dist/domains/test-generation/generators/mocha-generator.js.map +1 -1
  61. package/v3/dist/domains/test-generation/generators/node-test-generator.d.ts.map +1 -1
  62. package/v3/dist/domains/test-generation/generators/node-test-generator.js +11 -3
  63. package/v3/dist/domains/test-generation/generators/node-test-generator.js.map +1 -1
  64. package/v3/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
  65. package/v3/dist/domains/test-generation/generators/pytest-generator.js +22 -6
  66. package/v3/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
  67. package/v3/dist/integrations/agentic-flow/reasoning-bank/index.d.ts.map +1 -1
  68. package/v3/dist/integrations/agentic-flow/reasoning-bank/index.js +14 -0
  69. package/v3/dist/integrations/agentic-flow/reasoning-bank/index.js.map +1 -1
  70. package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.d.ts +5 -0
  71. package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.d.ts.map +1 -1
  72. package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.js +27 -0
  73. package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.js.map +1 -1
  74. package/v3/dist/integrations/ruvector/brain-exporter.d.ts +66 -0
  75. package/v3/dist/integrations/ruvector/brain-exporter.d.ts.map +1 -0
  76. package/v3/dist/integrations/ruvector/brain-exporter.js +537 -0
  77. package/v3/dist/integrations/ruvector/brain-exporter.js.map +1 -0
  78. package/v3/dist/integrations/ruvector/index.d.ts +4 -0
  79. package/v3/dist/integrations/ruvector/index.d.ts.map +1 -1
  80. package/v3/dist/integrations/ruvector/index.js +5 -0
  81. package/v3/dist/integrations/ruvector/index.js.map +1 -1
  82. package/v3/dist/integrations/ruvector/mincut-wrapper.d.ts +204 -0
  83. package/v3/dist/integrations/ruvector/mincut-wrapper.d.ts.map +1 -0
  84. package/v3/dist/integrations/ruvector/mincut-wrapper.js +310 -0
  85. package/v3/dist/integrations/ruvector/mincut-wrapper.js.map +1 -0
  86. package/v3/dist/integrations/ruvector/rvf-dual-writer.d.ts +141 -0
  87. package/v3/dist/integrations/ruvector/rvf-dual-writer.d.ts.map +1 -0
  88. package/v3/dist/integrations/ruvector/rvf-dual-writer.js +367 -0
  89. package/v3/dist/integrations/ruvector/rvf-dual-writer.js.map +1 -0
  90. package/v3/dist/integrations/ruvector/rvf-native-adapter.d.ts +60 -0
  91. package/v3/dist/integrations/ruvector/rvf-native-adapter.d.ts.map +1 -0
  92. package/v3/dist/integrations/ruvector/rvf-native-adapter.js +240 -0
  93. package/v3/dist/integrations/ruvector/rvf-native-adapter.js.map +1 -0
  94. package/v3/dist/kernel/hnsw-adapter.d.ts +99 -0
  95. package/v3/dist/kernel/hnsw-adapter.d.ts.map +1 -0
  96. package/v3/dist/kernel/hnsw-adapter.js +218 -0
  97. package/v3/dist/kernel/hnsw-adapter.js.map +1 -0
  98. package/v3/dist/kernel/hnsw-index-provider.d.ts +90 -0
  99. package/v3/dist/kernel/hnsw-index-provider.d.ts.map +1 -0
  100. package/v3/dist/kernel/hnsw-index-provider.js +23 -0
  101. package/v3/dist/kernel/hnsw-index-provider.js.map +1 -0
  102. package/v3/dist/kernel/progressive-hnsw-backend.d.ts +67 -0
  103. package/v3/dist/kernel/progressive-hnsw-backend.d.ts.map +1 -0
  104. package/v3/dist/kernel/progressive-hnsw-backend.js +266 -0
  105. package/v3/dist/kernel/progressive-hnsw-backend.js.map +1 -0
  106. package/v3/dist/kernel/unified-memory-hnsw.d.ts +71 -0
  107. package/v3/dist/kernel/unified-memory-hnsw.d.ts.map +1 -1
  108. package/v3/dist/kernel/unified-memory-hnsw.js +87 -0
  109. package/v3/dist/kernel/unified-memory-hnsw.js.map +1 -1
  110. package/v3/dist/kernel/unified-memory-schemas.d.ts +1 -0
  111. package/v3/dist/kernel/unified-memory-schemas.d.ts.map +1 -1
  112. package/v3/dist/kernel/unified-memory-schemas.js +16 -0
  113. package/v3/dist/kernel/unified-memory-schemas.js.map +1 -1
  114. package/v3/dist/kernel/unified-memory.d.ts +5 -0
  115. package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
  116. package/v3/dist/kernel/unified-memory.js +18 -0
  117. package/v3/dist/kernel/unified-memory.js.map +1 -1
  118. package/v3/dist/learning/dream/dream-engine.d.ts +16 -0
  119. package/v3/dist/learning/dream/dream-engine.d.ts.map +1 -1
  120. package/v3/dist/learning/dream/dream-engine.js +70 -0
  121. package/v3/dist/learning/dream/dream-engine.js.map +1 -1
  122. package/v3/dist/learning/dream/index.d.ts +2 -0
  123. package/v3/dist/learning/dream/index.d.ts.map +1 -1
  124. package/v3/dist/learning/dream/index.js +8 -0
  125. package/v3/dist/learning/dream/index.js.map +1 -1
  126. package/v3/dist/learning/dream/rvcow-branch-manager.d.ts +170 -0
  127. package/v3/dist/learning/dream/rvcow-branch-manager.d.ts.map +1 -0
  128. package/v3/dist/learning/dream/rvcow-branch-manager.js +263 -0
  129. package/v3/dist/learning/dream/rvcow-branch-manager.js.map +1 -0
  130. package/v3/dist/learning/dream/speculative-dreamer.d.ts +129 -0
  131. package/v3/dist/learning/dream/speculative-dreamer.d.ts.map +1 -0
  132. package/v3/dist/learning/dream/speculative-dreamer.js +214 -0
  133. package/v3/dist/learning/dream/speculative-dreamer.js.map +1 -0
  134. package/v3/dist/learning/pattern-store.js +1 -1
  135. package/v3/dist/learning/pattern-store.js.map +1 -1
  136. package/v3/dist/learning/qe-reasoning-bank.d.ts +9 -0
  137. package/v3/dist/learning/qe-reasoning-bank.d.ts.map +1 -1
  138. package/v3/dist/learning/qe-reasoning-bank.js +51 -2
  139. package/v3/dist/learning/qe-reasoning-bank.js.map +1 -1
  140. package/v3/dist/mcp/bundle.js +146048 -140244
  141. package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
  142. package/v3/dist/mcp/handlers/core-handlers.js +37 -0
  143. package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
  144. package/v3/dist/mcp/handlers/memory-handlers.d.ts.map +1 -1
  145. package/v3/dist/mcp/handlers/memory-handlers.js +27 -36
  146. package/v3/dist/mcp/handlers/memory-handlers.js.map +1 -1
  147. package/v3/dist/mcp/handlers/task-handlers.d.ts +9 -0
  148. package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
  149. package/v3/dist/mcp/handlers/task-handlers.js +58 -4
  150. package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
  151. package/v3/dist/mcp/services/mincut-routing-service.d.ts +148 -0
  152. package/v3/dist/mcp/services/mincut-routing-service.d.ts.map +1 -0
  153. package/v3/dist/mcp/services/mincut-routing-service.js +198 -0
  154. package/v3/dist/mcp/services/mincut-routing-service.js.map +1 -0
  155. package/v3/dist/mcp/services/task-router.d.ts +4 -0
  156. package/v3/dist/mcp/services/task-router.d.ts.map +1 -1
  157. package/v3/dist/mcp/services/task-router.js +57 -15
  158. package/v3/dist/mcp/services/task-router.js.map +1 -1
  159. package/v3/dist/mcp/tools/coherence/audit.js +1 -1
  160. package/v3/dist/mcp/types.d.ts +10 -0
  161. package/v3/dist/mcp/types.d.ts.map +1 -1
  162. package/v3/dist/monitoring/structural-health.d.ts +142 -0
  163. package/v3/dist/monitoring/structural-health.d.ts.map +1 -0
  164. package/v3/dist/monitoring/structural-health.js +201 -0
  165. package/v3/dist/monitoring/structural-health.js.map +1 -0
  166. package/v3/package.json +1 -1
@@ -0,0 +1,358 @@
1
+ /**
2
+ * MinCut-Based Test Suite Optimization
3
+ * Task 2.3: RVF Integration Plan
4
+ *
5
+ * Uses mincut analysis to identify the minimum set of tests that provide
6
+ * maximum coverage assurance. Models the test suite as a bipartite graph
7
+ * (tests and source files as vertices, coverage as edges) and computes
8
+ * the minimum cut to find the critical test boundary.
9
+ *
10
+ * Algorithm:
11
+ * 1. Build bipartite graph: test nodes <-> source file nodes
12
+ * 2. Edge capacity = 1 / (number of tests covering that file) — rarer coverage is more valuable
13
+ * 3. Compute mincut via MinCutCalculator (weighted-degree heuristic)
14
+ * 4. Tests on the source side of the cut are critical
15
+ * 5. Remaining tests are skippable (their coverage is redundant)
16
+ * 6. Execution order: critical tests first, sorted by coverage breadth
17
+ *
18
+ * @module domains/test-execution/services/mincut-test-optimizer
19
+ */
20
+ import { MinCutCalculator } from '../../../coordination/mincut/mincut-calculator.js';
21
+ import { SwarmGraph } from '../../../coordination/mincut/swarm-graph.js';
22
+ // ============================================================================
23
+ // Implementation
24
+ // ============================================================================
25
+ /**
26
+ * Default implementation of MinCutTestOptimizer.
27
+ *
28
+ * Builds a bipartite graph from test nodes and their covered source files,
29
+ * then uses mincut analysis to partition tests into critical vs skippable.
30
+ */
31
+ export class MinCutTestOptimizerImpl {
32
+ calculator;
33
+ constructor(calculator) {
34
+ this.calculator = calculator ?? new MinCutCalculator();
35
+ }
36
+ /**
37
+ * Optimize a test suite using mincut analysis.
38
+ *
39
+ * @param tests - The test nodes to analyze
40
+ * @param coverageThreshold - Minimum fraction of files that must remain covered (0-1, default 1.0)
41
+ * @returns Optimization result with critical/skippable partitioning
42
+ */
43
+ optimize(tests, coverageThreshold = 1.0) {
44
+ // Edge case: empty test suite
45
+ if (tests.length === 0) {
46
+ return this.emptyResult();
47
+ }
48
+ // Edge case: single test is always critical
49
+ if (tests.length === 1) {
50
+ return this.singleTestResult(tests[0]);
51
+ }
52
+ // Build the bipartite coverage graph
53
+ const { graph, testIds, fileIds, edgeCount } = this.buildCoverageGraph(tests);
54
+ // Compute mincut
55
+ const mincutResult = this.calculator.approxMinCut(graph);
56
+ const stats = graph.getStats();
57
+ // Classify tests based on mincut partitioning
58
+ const sourceSideSet = new Set(mincutResult.sourceSide);
59
+ // Identify which tests are on the source side (critical boundary)
60
+ // and which are on the target side (potentially skippable)
61
+ const criticalFromCut = new Set();
62
+ const skippableFromCut = new Set();
63
+ for (const testId of testIds) {
64
+ if (sourceSideSet.has(testId)) {
65
+ criticalFromCut.add(testId);
66
+ }
67
+ else {
68
+ skippableFromCut.add(testId);
69
+ }
70
+ }
71
+ // Build file-to-tests coverage map for redundancy analysis
72
+ const fileCoverage = this.buildFileCoverageMap(tests);
73
+ const allCoveredFiles = new Set(fileCoverage.keys());
74
+ // Ensure tests with unique coverage are always critical
75
+ // A test is uniquely critical if it covers a file no other test covers
76
+ const uniquelyCritical = this.findUniquelyCriticalTests(tests, fileCoverage);
77
+ for (const testId of uniquelyCritical) {
78
+ criticalFromCut.add(testId);
79
+ skippableFromCut.delete(testId);
80
+ }
81
+ // Verify coverage threshold: ensure skipping tests doesn't drop coverage below threshold
82
+ const criticalTests = new Set(criticalFromCut);
83
+ const skippableTests = new Set(skippableFromCut);
84
+ if (coverageThreshold < 1.0) {
85
+ // Allow dropping some coverage
86
+ const requiredFileCount = Math.ceil(allCoveredFiles.size * coverageThreshold);
87
+ const criticalCoveredFiles = this.computeCoveredFiles(tests, criticalTests);
88
+ if (criticalCoveredFiles.size < requiredFileCount) {
89
+ // Promote skippable tests to critical until threshold is met
90
+ this.promoteToCritical(tests, criticalTests, skippableTests, requiredFileCount);
91
+ }
92
+ }
93
+ else {
94
+ // Full coverage required: promote any test whose removal would lose a file
95
+ this.ensureFullCoverage(tests, criticalTests, skippableTests, fileCoverage);
96
+ }
97
+ // Build execution order: critical first (sorted by coverage breadth desc), then skippable
98
+ const executionOrder = this.buildExecutionOrder(tests, criticalTests, skippableTests);
99
+ // Calculate time savings
100
+ const testMap = new Map(tests.map(t => [t.testId, t]));
101
+ const estimatedTimeSavingsMs = Array.from(skippableTests)
102
+ .reduce((sum, id) => sum + (testMap.get(id)?.estimatedDurationMs ?? 0), 0);
103
+ return {
104
+ criticalTests: Array.from(criticalTests),
105
+ skippableTests: Array.from(skippableTests),
106
+ executionOrder,
107
+ estimatedTimeSavingsMs,
108
+ graphStats: {
109
+ testCount: tests.length,
110
+ coverageEdges: edgeCount,
111
+ mincutValue: mincutResult.value,
112
+ connectedComponents: stats.componentCount,
113
+ },
114
+ };
115
+ }
116
+ // ==========================================================================
117
+ // Graph Construction
118
+ // ==========================================================================
119
+ /**
120
+ * Build a bipartite graph from test nodes and their covered files.
121
+ *
122
+ * Test nodes and file nodes are vertices. Edges connect tests to the
123
+ * files they cover, weighted inversely by the number of tests covering
124
+ * that file (rarer coverage = higher weight = more valuable).
125
+ */
126
+ buildCoverageGraph(tests) {
127
+ const graph = new SwarmGraph();
128
+ const testIds = [];
129
+ const fileIdSet = new Set();
130
+ // Count how many tests cover each file (for weight calculation)
131
+ const fileCoverCount = new Map();
132
+ for (const test of tests) {
133
+ for (const file of test.coveredFiles) {
134
+ fileCoverCount.set(file, (fileCoverCount.get(file) ?? 0) + 1);
135
+ }
136
+ }
137
+ // Add test vertices
138
+ for (const test of tests) {
139
+ const vertex = {
140
+ id: test.testId,
141
+ type: 'agent',
142
+ weight: test.coveredFiles.length,
143
+ createdAt: new Date(),
144
+ metadata: { nodeType: 'test', testFile: test.testFile },
145
+ };
146
+ graph.addVertex(vertex);
147
+ testIds.push(test.testId);
148
+ }
149
+ // Add file vertices
150
+ for (const [file] of fileCoverCount) {
151
+ const fileId = `file:${file}`;
152
+ const vertex = {
153
+ id: fileId,
154
+ type: 'domain',
155
+ weight: 1.0,
156
+ createdAt: new Date(),
157
+ metadata: { nodeType: 'file', filePath: file },
158
+ };
159
+ graph.addVertex(vertex);
160
+ fileIdSet.add(fileId);
161
+ }
162
+ // Add edges from tests to files
163
+ let edgeCount = 0;
164
+ for (const test of tests) {
165
+ for (const file of test.coveredFiles) {
166
+ const fileId = `file:${file}`;
167
+ const coverCount = fileCoverCount.get(file) ?? 1;
168
+ // Weight: rarer coverage is more valuable
169
+ const weight = 1.0 / coverCount;
170
+ const edge = {
171
+ source: test.testId,
172
+ target: fileId,
173
+ weight,
174
+ type: 'coordination',
175
+ bidirectional: true,
176
+ };
177
+ graph.addEdge(edge);
178
+ edgeCount++;
179
+ }
180
+ }
181
+ return {
182
+ graph,
183
+ testIds,
184
+ fileIds: Array.from(fileIdSet),
185
+ edgeCount,
186
+ };
187
+ }
188
+ // ==========================================================================
189
+ // Coverage Analysis
190
+ // ==========================================================================
191
+ /**
192
+ * Build a map from source file -> set of test IDs that cover it.
193
+ */
194
+ buildFileCoverageMap(tests) {
195
+ const map = new Map();
196
+ for (const test of tests) {
197
+ for (const file of test.coveredFiles) {
198
+ let testSet = map.get(file);
199
+ if (!testSet) {
200
+ testSet = new Set();
201
+ map.set(file, testSet);
202
+ }
203
+ testSet.add(test.testId);
204
+ }
205
+ }
206
+ return map;
207
+ }
208
+ /**
209
+ * Find tests that are the sole provider of coverage for at least one file.
210
+ * These tests are always critical regardless of mincut partitioning.
211
+ */
212
+ findUniquelyCriticalTests(tests, fileCoverage) {
213
+ const uniquelyCritical = new Set();
214
+ for (const [, testSet] of fileCoverage) {
215
+ if (testSet.size === 1) {
216
+ // Only one test covers this file; it is uniquely critical
217
+ const [testId] = testSet;
218
+ uniquelyCritical.add(testId);
219
+ }
220
+ }
221
+ return uniquelyCritical;
222
+ }
223
+ /**
224
+ * Compute the set of files covered by a given set of test IDs.
225
+ */
226
+ computeCoveredFiles(tests, testIds) {
227
+ const covered = new Set();
228
+ for (const test of tests) {
229
+ if (testIds.has(test.testId)) {
230
+ for (const file of test.coveredFiles) {
231
+ covered.add(file);
232
+ }
233
+ }
234
+ }
235
+ return covered;
236
+ }
237
+ /**
238
+ * Promote skippable tests to critical until the required file count is met.
239
+ * Greedy: pick the skippable test that adds the most new coverage each step.
240
+ */
241
+ promoteToCritical(tests, criticalTests, skippableTests, requiredFileCount) {
242
+ const covered = this.computeCoveredFiles(tests, criticalTests);
243
+ const testMap = new Map(tests.map(t => [t.testId, t]));
244
+ const remaining = Array.from(skippableTests);
245
+ while (covered.size < requiredFileCount && remaining.length > 0) {
246
+ // Find the skippable test that adds the most new files
247
+ let bestIdx = -1;
248
+ let bestNewCount = 0;
249
+ for (let i = 0; i < remaining.length; i++) {
250
+ const test = testMap.get(remaining[i]);
251
+ if (!test)
252
+ continue;
253
+ const newCount = test.coveredFiles.filter(f => !covered.has(f)).length;
254
+ if (newCount > bestNewCount) {
255
+ bestNewCount = newCount;
256
+ bestIdx = i;
257
+ }
258
+ }
259
+ if (bestIdx === -1 || bestNewCount === 0)
260
+ break;
261
+ const promotedId = remaining[bestIdx];
262
+ remaining.splice(bestIdx, 1);
263
+ criticalTests.add(promotedId);
264
+ skippableTests.delete(promotedId);
265
+ const promotedTest = testMap.get(promotedId);
266
+ for (const file of promotedTest.coveredFiles) {
267
+ covered.add(file);
268
+ }
269
+ }
270
+ }
271
+ /**
272
+ * Ensure that skipping the skippable tests does not lose any file coverage.
273
+ * Promote tests from skippable to critical as needed.
274
+ */
275
+ ensureFullCoverage(tests, criticalTests, skippableTests, fileCoverage) {
276
+ // For each file, check that at least one critical test covers it
277
+ const criticalCovered = this.computeCoveredFiles(tests, criticalTests);
278
+ for (const [file, testSet] of fileCoverage) {
279
+ if (!criticalCovered.has(file)) {
280
+ // No critical test covers this file; promote one
281
+ for (const testId of testSet) {
282
+ if (skippableTests.has(testId)) {
283
+ criticalTests.add(testId);
284
+ skippableTests.delete(testId);
285
+ // Update covered files
286
+ const test = tests.find(t => t.testId === testId);
287
+ if (test) {
288
+ for (const f of test.coveredFiles) {
289
+ criticalCovered.add(f);
290
+ }
291
+ }
292
+ break;
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ // ==========================================================================
299
+ // Execution Order
300
+ // ==========================================================================
301
+ /**
302
+ * Build optimal execution order:
303
+ * 1. Critical tests first, sorted by coverage breadth (most files first)
304
+ * 2. Skippable tests after, sorted by coverage breadth
305
+ */
306
+ buildExecutionOrder(tests, criticalTests, skippableTests) {
307
+ const testMap = new Map(tests.map(t => [t.testId, t]));
308
+ const byCoverage = (a, b) => {
309
+ const aCount = testMap.get(a)?.coveredFiles.length ?? 0;
310
+ const bCount = testMap.get(b)?.coveredFiles.length ?? 0;
311
+ return bCount - aCount; // descending
312
+ };
313
+ const critical = Array.from(criticalTests).sort(byCoverage);
314
+ const skippable = Array.from(skippableTests).sort(byCoverage);
315
+ return [...critical, ...skippable];
316
+ }
317
+ // ==========================================================================
318
+ // Edge Case Results
319
+ // ==========================================================================
320
+ emptyResult() {
321
+ return {
322
+ criticalTests: [],
323
+ skippableTests: [],
324
+ executionOrder: [],
325
+ estimatedTimeSavingsMs: 0,
326
+ graphStats: {
327
+ testCount: 0,
328
+ coverageEdges: 0,
329
+ mincutValue: 0,
330
+ connectedComponents: 0,
331
+ },
332
+ };
333
+ }
334
+ singleTestResult(test) {
335
+ return {
336
+ criticalTests: [test.testId],
337
+ skippableTests: [],
338
+ executionOrder: [test.testId],
339
+ estimatedTimeSavingsMs: 0,
340
+ graphStats: {
341
+ testCount: 1,
342
+ coverageEdges: test.coveredFiles.length,
343
+ mincutValue: 0,
344
+ connectedComponents: test.coveredFiles.length > 0 ? 1 : 1,
345
+ },
346
+ };
347
+ }
348
+ }
349
+ // ============================================================================
350
+ // Factory
351
+ // ============================================================================
352
+ /**
353
+ * Create a new MinCutTestOptimizer instance.
354
+ */
355
+ export function createMinCutTestOptimizer(calculator) {
356
+ return new MinCutTestOptimizerImpl(calculator);
357
+ }
358
+ //# sourceMappingURL=mincut-test-optimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mincut-test-optimizer.js","sourceRoot":"","sources":["../../../../src/domains/test-execution/services/mincut-test-optimizer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base-test-generator.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/base-test-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,iBAAkB,YAAW,cAAc;IAC/D,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAM3C,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAC9D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAC5E,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IACvE,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAClE,QAAQ,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAM/F;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAQtC;IAEF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAWtC;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAsBzD;;;;;;OAMG;IACH,SAAS,CAAC,4BAA4B,CAAC,EAAE,EAAE,YAAY,GAAG,QAAQ,EAAE;IAyFpE;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,QAAQ,EAAE;IA4EvF;;OAEG;IACH,SAAS,CAAC,cAAc,CACtB,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EAAE,SAAS,EAAE,GACnB,MAAM,EAAE;IAaX;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAC/B,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM;IAOT;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM;IAK7D;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMxC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMzC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;CAMnD"}
1
+ {"version":3,"file":"base-test-generator.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/base-test-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,iBAAkB,YAAW,cAAc;IAC/D,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAM3C,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAC9D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAC5E,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IACvE,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAClE,QAAQ,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAM/F;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAQtC;IAEF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAWtC;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAsBzD;;;;;;OAMG;IACH,SAAS,CAAC,4BAA4B,CAAC,EAAE,EAAE,YAAY,GAAG,QAAQ,EAAE;IA+FpE;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,QAAQ,EAAE;IA4EvF;;OAEG;IACH,SAAS,CAAC,cAAc,CACtB,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EAAE,SAAS,EAAE,GACnB,MAAM,EAAE;IAaX;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAC/B,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM;IAOT;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM;IAK7D;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMxC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMzC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;CAMnD"}
@@ -111,14 +111,24 @@ export class BaseTestGenerator {
111
111
  }
112
112
  else if (fn.returnType) {
113
113
  const rt = fn.returnType.toLowerCase().replace(/promise<(.+)>/, '$1');
114
- if (rt.includes('boolean'))
114
+ // Issue N6: Check for object/interface return types FIRST — { valid: boolean; ... }
115
+ // contains 'boolean' but returns an object, not a boolean
116
+ if (rt.includes('{'))
117
+ assertion = "expect(typeof result).toBe('object');";
118
+ else if (rt === 'boolean')
115
119
  assertion = "expect(typeof result).toBe('boolean');";
116
- else if (rt.includes('number'))
120
+ else if (rt === 'number')
117
121
  assertion = "expect(typeof result).toBe('number');";
118
- else if (rt.includes('string'))
122
+ else if (rt === 'string')
119
123
  assertion = "expect(typeof result).toBe('string');";
120
124
  else if (rt.includes('[]') || rt.includes('array'))
121
125
  assertion = 'expect(Array.isArray(result)).toBe(true);';
126
+ else if (rt.includes('boolean'))
127
+ assertion = "expect(typeof result).toBe('boolean');";
128
+ else if (rt.includes('number'))
129
+ assertion = "expect(typeof result).toBe('number');";
130
+ else if (rt.includes('string'))
131
+ assertion = "expect(typeof result).toBe('string');";
122
132
  }
123
133
  }
124
134
  testCases.push({
@@ -1 +1 @@
1
- {"version":3,"file":"base-test-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/base-test-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-test-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/base-test-generator.ts"],"names":[],"mappings":"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"}
@@ -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;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"}
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;IAgF3B;;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"}
@@ -165,14 +165,23 @@ ${importStatement}
165
165
  }
166
166
  else if (method.returnType) {
167
167
  const mrt = method.returnType.toLowerCase().replace(/promise<(.+)>/, '$1');
168
- if (mrt.includes('boolean'))
168
+ // Issue N6: Check for object/interface return types FIRST
169
+ if (mrt.includes('{'))
170
+ methodAssertion = "expect(typeof result).toBe('object');";
171
+ else if (mrt === 'boolean')
169
172
  methodAssertion = "expect(typeof result).toBe('boolean');";
170
- else if (mrt.includes('number'))
173
+ else if (mrt === 'number')
171
174
  methodAssertion = "expect(typeof result).toBe('number');";
172
- else if (mrt.includes('string'))
175
+ else if (mrt === 'string')
173
176
  methodAssertion = "expect(typeof result).toBe('string');";
174
177
  else if (mrt.includes('[]') || mrt.includes('array'))
175
178
  methodAssertion = 'expect(Array.isArray(result)).toBe(true);';
179
+ else if (mrt.includes('boolean'))
180
+ methodAssertion = "expect(typeof result).toBe('boolean');";
181
+ else if (mrt.includes('number'))
182
+ methodAssertion = "expect(typeof result).toBe('number');";
183
+ else if (mrt.includes('string'))
184
+ methodAssertion = "expect(typeof result).toBe('string');";
176
185
  }
177
186
  }
178
187
  code += ` it('should execute successfully', ${asyncPrefix}() => {\n`;
@@ -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;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"}
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;IAoEpE;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IAqD/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"}
@@ -102,14 +102,22 @@ ${stubSetup}`;
102
102
  }
103
103
  else if (fn.returnType) {
104
104
  const rt = fn.returnType.toLowerCase().replace(/promise<(.+)>/, '$1');
105
- if (rt.includes('boolean'))
105
+ if (rt.includes('{'))
106
+ chaiAssertion = "expect(result).to.be.an('object');";
107
+ else if (rt === 'boolean')
106
108
  chaiAssertion = "expect(typeof result).to.equal('boolean');";
107
- else if (rt.includes('number'))
109
+ else if (rt === 'number')
108
110
  chaiAssertion = "expect(typeof result).to.equal('number');";
109
- else if (rt.includes('string'))
111
+ else if (rt === 'string')
110
112
  chaiAssertion = "expect(typeof result).to.equal('string');";
111
113
  else if (rt.includes('[]') || rt.includes('array'))
112
114
  chaiAssertion = 'expect(result).to.be.an(\'array\');';
115
+ else if (rt.includes('boolean'))
116
+ chaiAssertion = "expect(typeof result).to.equal('boolean');";
117
+ else if (rt.includes('number'))
118
+ chaiAssertion = "expect(typeof result).to.equal('number');";
119
+ else if (rt.includes('string'))
120
+ chaiAssertion = "expect(typeof result).to.equal('string');";
113
121
  }
114
122
  }
115
123
  code += ` it('should handle valid input', ${fn.isAsync ? 'async ' : ''}function() {\n`;
@@ -176,14 +184,22 @@ ${stubSetup}`;
176
184
  }
177
185
  else if (method.returnType) {
178
186
  const mrt = method.returnType.toLowerCase().replace(/promise<(.+)>/, '$1');
179
- if (mrt.includes('boolean'))
187
+ if (mrt.includes('{'))
188
+ methodAssertion = "expect(result).to.be.an('object');";
189
+ else if (mrt === 'boolean')
180
190
  methodAssertion = "expect(typeof result).to.equal('boolean');";
181
- else if (mrt.includes('number'))
191
+ else if (mrt === 'number')
182
192
  methodAssertion = "expect(typeof result).to.equal('number');";
183
- else if (mrt.includes('string'))
193
+ else if (mrt === 'string')
184
194
  methodAssertion = "expect(typeof result).to.equal('string');";
185
195
  else if (mrt.includes('[]') || mrt.includes('array'))
186
196
  methodAssertion = "expect(result).to.be.an('array');";
197
+ else if (mrt.includes('boolean'))
198
+ methodAssertion = "expect(typeof result).to.equal('boolean');";
199
+ else if (mrt.includes('number'))
200
+ methodAssertion = "expect(typeof result).to.equal('number');";
201
+ else if (mrt.includes('string'))
202
+ methodAssertion = "expect(typeof result).to.equal('string');";
187
203
  }
188
204
  }
189
205
  code += `\n it('${method.name} should work', ${method.isAsync ? 'async ' : ''}function() {\n`;