Skip to content

Commit f1d7cae

Browse files
christian-huehn-mwclaude
authored andcommitted
fix(visualization): fix spec files for new service dependencies
Provide ScenarioApplierService and ScenarioImportExportService mocks in tests that transitively depend on them through ScenarioViewModelService. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 957dde3 commit f1d7cae

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

visualization/app/codeCharta/features/scenarios/components/applyScenarioDialog/applyScenarioDialog.component.spec.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,13 @@ describe("ApplyScenarioDialogComponent", () => {
5252
HTMLDialogElement.prototype.showModal = jest.fn()
5353
HTMLDialogElement.prototype.close = jest.fn()
5454

55-
scenarioApplier = { applyScenario: jest.fn() }
55+
const realApplier = Object.create(ScenarioApplierService.prototype) as ScenarioApplierService
56+
scenarioApplier = {
57+
applyScenario: jest.fn(),
58+
getMissingMetrics: realApplier.getMissingMetrics.bind(realApplier),
59+
hasMissingMetrics: realApplier.hasMissingMetrics.bind(realApplier),
60+
getAvailableMetricNames: realApplier.getAvailableMetricNames.bind(realApplier)
61+
}
5662

5763
TestBed.configureTestingModule({
5864
imports: [ApplyScenarioDialogComponent],

visualization/app/codeCharta/features/scenarios/components/scenarioListDialog/scenarioListDialog.component.spec.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,15 @@ describe("ScenarioListDialogComponent", () => {
9696
importScenarioFiles: jest.fn().mockResolvedValue({ imported: 1, duplicates: [], invalid: [], parseErrors: [] })
9797
}
9898

99+
const realApplier = Object.create(ScenarioApplierService.prototype) as ScenarioApplierService
100+
99101
TestBed.configureTestingModule({
100102
imports: [ScenarioListDialogComponent],
101103
providers: [
102104
provideMockStore({ initialState: defaultState }),
103105
{ provide: ScenariosService, useValue: scenariosService },
104-
{ provide: ScenarioImportExportService, useValue: importExportService }
106+
{ provide: ScenarioImportExportService, useValue: importExportService },
107+
{ provide: ScenarioApplierService, useValue: realApplier }
105108
]
106109
})
107110

visualization/app/codeCharta/features/scenarios/components/scenariosPanel/scenariosPanel.component.spec.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { of } from "rxjs"
44
import { defaultState } from "../../../../state/store/state.manager"
55
import { ScenariosPanelComponent } from "./scenariosPanel.component"
66
import { ScenariosService } from "../../services/scenarios.service"
7+
import { ScenarioApplierService } from "../../services/scenarioApplier.service"
8+
import { ScenarioImportExportService } from "../../services/scenarioImportExport.service"
79

810
describe("ScenariosPanelComponent", () => {
911
let component: ScenariosPanelComponent
@@ -21,6 +23,22 @@ describe("ScenariosPanelComponent", () => {
2123
saveScenario: jest.fn(),
2224
loadScenarios: jest.fn().mockResolvedValue(undefined)
2325
}
26+
},
27+
{
28+
provide: ScenarioApplierService,
29+
useValue: {
30+
applyScenario: jest.fn(),
31+
getMissingMetrics: jest.fn().mockReturnValue({ nodeMetrics: [], edgeMetrics: [] }),
32+
hasMissingMetrics: jest.fn().mockReturnValue(false),
33+
getAvailableMetricNames: jest.fn().mockReturnValue({ nodeMetrics: new Set(), edgeMetrics: new Set() })
34+
}
35+
},
36+
{
37+
provide: ScenarioImportExportService,
38+
useValue: {
39+
exportScenario: jest.fn(),
40+
importScenarioFiles: jest.fn().mockResolvedValue({ imported: 0, duplicates: [], invalid: [], parseErrors: [] })
41+
}
2442
}
2543
]
2644
})

0 commit comments

Comments
 (0)