summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/utils/computeStats.test.ts
diff options
context:
space:
mode:
authorArya Gummadi <[email protected]>2025-08-18 22:57:53 -0700
committerGitHub <[email protected]>2025-08-19 05:57:53 +0000
commit8f8082fe3da9e1972f8b8226c68fa14e326a3d8a (patch)
treef4e8b121bea73120e57e59eba8d6ad3fbda2c59c /packages/cli/src/ui/utils/computeStats.test.ts
parentda396bd5662adcac3ebc60d55cfc1d722b903e38 (diff)
feat: add file change tracking to session metrics (#6094)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Jacob Richman <[email protected]>
Diffstat (limited to 'packages/cli/src/ui/utils/computeStats.test.ts')
-rw-r--r--packages/cli/src/ui/utils/computeStats.test.ts45
1 files changed, 45 insertions, 0 deletions
diff --git a/packages/cli/src/ui/utils/computeStats.test.ts b/packages/cli/src/ui/utils/computeStats.test.ts
index 0e32ffe2..e9085fb3 100644
--- a/packages/cli/src/ui/utils/computeStats.test.ts
+++ b/packages/cli/src/ui/utils/computeStats.test.ts
@@ -121,6 +121,10 @@ describe('computeSessionStats', () => {
totalDecisions: { accept: 0, reject: 0, modify: 0 },
byName: {},
},
+ files: {
+ totalLinesAdded: 0,
+ totalLinesRemoved: 0,
+ },
};
const result = computeSessionStats(metrics);
@@ -137,6 +141,8 @@ describe('computeSessionStats', () => {
agreementRate: 0,
totalPromptTokens: 0,
totalCachedTokens: 0,
+ totalLinesAdded: 0,
+ totalLinesRemoved: 0,
});
});
@@ -163,6 +169,10 @@ describe('computeSessionStats', () => {
totalDecisions: { accept: 0, reject: 0, modify: 0 },
byName: {},
},
+ files: {
+ totalLinesAdded: 0,
+ totalLinesRemoved: 0,
+ },
};
const result = computeSessionStats(metrics);
@@ -197,6 +207,10 @@ describe('computeSessionStats', () => {
totalDecisions: { accept: 0, reject: 0, modify: 0 },
byName: {},
},
+ files: {
+ totalLinesAdded: 0,
+ totalLinesRemoved: 0,
+ },
};
const result = computeSessionStats(metrics);
@@ -215,6 +229,10 @@ describe('computeSessionStats', () => {
totalDecisions: { accept: 6, reject: 2, modify: 2 },
byName: {},
},
+ files: {
+ totalLinesAdded: 0,
+ totalLinesRemoved: 0,
+ },
};
const result = computeSessionStats(metrics);
@@ -234,6 +252,10 @@ describe('computeSessionStats', () => {
totalDecisions: { accept: 0, reject: 0, modify: 0 },
byName: {},
},
+ files: {
+ totalLinesAdded: 0,
+ totalLinesRemoved: 0,
+ },
};
const result = computeSessionStats(metrics);
@@ -244,4 +266,27 @@ describe('computeSessionStats', () => {
expect(result.successRate).toBe(0);
expect(result.agreementRate).toBe(0);
});
+
+ it('should correctly include line counts', () => {
+ const metrics: SessionMetrics = {
+ models: {},
+ tools: {
+ totalCalls: 0,
+ totalSuccess: 0,
+ totalFail: 0,
+ totalDurationMs: 0,
+ totalDecisions: { accept: 0, reject: 0, modify: 0 },
+ byName: {},
+ },
+ files: {
+ totalLinesAdded: 42,
+ totalLinesRemoved: 18,
+ },
+ };
+
+ const result = computeSessionStats(metrics);
+
+ expect(result.totalLinesAdded).toBe(42);
+ expect(result.totalLinesRemoved).toBe(18);
+ });
});