diff options
| author | agarwalravikant <[email protected]> | 2025-08-08 10:08:07 +0530 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-08 04:38:07 +0000 |
| commit | 5ab184fcaf40d4e7dec9ba6a0526cac39b602ee2 (patch) | |
| tree | 9534a46370f1197d4c582c652bbc91e201c0d638 /packages/core/src/telemetry/metrics.test.ts | |
| parent | 86eaa03f8a0c52bbcab2cb8b6554918e30918f66 (diff) | |
Fix for git issue 5657 to add lines of code added/removed telemetry (#5823)
Co-authored-by: Ravikant Agarwal <[email protected]>
Diffstat (limited to 'packages/core/src/telemetry/metrics.test.ts')
| -rw-r--r-- | packages/core/src/telemetry/metrics.test.ts | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/packages/core/src/telemetry/metrics.test.ts b/packages/core/src/telemetry/metrics.test.ts index 4fcdd9e1..7b430884 100644 --- a/packages/core/src/telemetry/metrics.test.ts +++ b/packages/core/src/telemetry/metrics.test.ts @@ -221,5 +221,87 @@ describe('Telemetry Metrics', () => { mimetype: 'application/javascript', }); }); + + it('should include diffStat when provided', () => { + initializeMetricsModule(mockConfig); + mockCounterAddFn.mockClear(); + + const diffStat = { + ai_added_lines: 5, + ai_removed_lines: 2, + user_added_lines: 3, + user_removed_lines: 1, + }; + + recordFileOperationMetricModule( + mockConfig, + FileOperation.UPDATE, + undefined, + undefined, + undefined, + diffStat, + ); + + expect(mockCounterAddFn).toHaveBeenCalledWith(1, { + 'session.id': 'test-session-id', + operation: FileOperation.UPDATE, + ai_added_lines: 5, + ai_removed_lines: 2, + user_added_lines: 3, + user_removed_lines: 1, + }); + }); + + it('should not include diffStat attributes when diffStat is not provided', () => { + initializeMetricsModule(mockConfig); + mockCounterAddFn.mockClear(); + + recordFileOperationMetricModule( + mockConfig, + FileOperation.UPDATE, + 10, + 'text/plain', + 'txt', + undefined, + ); + + expect(mockCounterAddFn).toHaveBeenCalledWith(1, { + 'session.id': 'test-session-id', + operation: FileOperation.UPDATE, + lines: 10, + mimetype: 'text/plain', + extension: 'txt', + }); + }); + + it('should handle diffStat with all zero values', () => { + initializeMetricsModule(mockConfig); + mockCounterAddFn.mockClear(); + + const diffStat = { + ai_added_lines: 0, + ai_removed_lines: 0, + user_added_lines: 0, + user_removed_lines: 0, + }; + + recordFileOperationMetricModule( + mockConfig, + FileOperation.UPDATE, + undefined, + undefined, + undefined, + diffStat, + ); + + expect(mockCounterAddFn).toHaveBeenCalledWith(1, { + 'session.id': 'test-session-id', + operation: FileOperation.UPDATE, + ai_added_lines: 0, + ai_removed_lines: 0, + user_added_lines: 0, + user_removed_lines: 0, + }); + }); }); }); |
