From 1d42a2da5026bef54ea620525c8af8b2b4c37625 Mon Sep 17 00:00:00 2001 From: Divyansh Mishra Date: Wed, 31 Dec 2025 10:12:04 +0530 Subject: [PATCH] test(optimize): add metrics coverage for selected optimizations --- test/unit/services/optimize.metrics.test.ts | 50 +++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 test/unit/services/optimize.metrics.test.ts diff --git a/test/unit/services/optimize.metrics.test.ts b/test/unit/services/optimize.metrics.test.ts new file mode 100644 index 000000000..6aae7050d --- /dev/null +++ b/test/unit/services/optimize.metrics.test.ts @@ -0,0 +1,50 @@ +import { expect } from 'chai'; +import Optimize, { Optimizations } from '../../../src/apps/cli/commands/optimize'; + +describe('Optimize.collectMetricsData', () => { + it('sets metrics metadata when selected optimizations are applied', () => { + // Create Optimize command instance + const cmd = new (Optimize as any)([], {}); + // Simulate user-selected optimization + cmd.selectedOptimizations = [ + Optimizations.MOVE_DUPLICATES_TO_COMPONENTS, + ]; + + // Ensure clean metrics state + (cmd as any).metricsMetadata = {}; + + // Fake optimizer report + const report = { + moveDuplicatesToComponents: [], + } as any; + + // Call private method (allowed in tests) + (cmd as any).collectMetricsData(report); + + // Assertions + expect((cmd as any).metricsMetadata.optimized).to.equal(true); + expect( + (cmd as any).metricsMetadata.optimization_moveDuplicatesToComponents + ).to.equal(true); + }); + + it('does not set metrics metadata when optimization was not selected', () => { + const cmd = new (Optimize as any)([], {}); + // Different optimization selected + cmd.selectedOptimizations = [ + Optimizations.REMOVE_COMPONENTS, + ]; + + (cmd as any).metricsMetadata = {}; + const report = { + moveDuplicatesToComponents: [], + } as any; + + (cmd as any).collectMetricsData(report); + + expect((cmd as any).metricsMetadata.optimized).to.not.equal(true); + expect( + (cmd as any).metricsMetadata.optimization_moveDuplicatesToComponents + ).to.equal(undefined); + }); +});