Road to no explicit any part 8 group 5 (#8329)

## Summary
- Add `createMockLLink` and `createMockLinks` factory functions to
handle hybrid Map/Record types
- Replace `as any` assertions with type-safe factory functions in
minimap tests
- Implement proper Pinia store mocking using `vi.hoisted()` pattern
- Remove unused `createMockSubgraph` export (shadowed by local
implementations)

## Test plan
- [x] All minimap tests pass (29 tests)
- [x] `pnpm typecheck` passes
- [x] `pnpm lint` passes
- [x] `pnpm knip` passes

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8329-Road-to-no-explicit-any-part-8-group-5-2f56d73d365081218882de81d5526220)
by [Unito](https://www.unito.io)

---------

Co-authored-by: AustinMroz <austin@comfy.org>
This commit is contained in:
Johnpaul Chiwetelu
2026-01-27 19:25:15 +01:00
committed by GitHub
parent 440e25e232
commit 3946d7b5ff
20 changed files with 683 additions and 463 deletions

View File

@@ -64,7 +64,7 @@ describe('useWorkflowAutoSave', () => {
vi.advanceTimersByTime(1000)
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const serviceInstance = vi.mocked(useWorkflowService).mock.results[0].value
expect(serviceInstance.saveWorkflow).toHaveBeenCalledWith(
mockActiveWorkflow
)
@@ -85,7 +85,7 @@ describe('useWorkflowAutoSave', () => {
vi.advanceTimersByTime(1000)
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const serviceInstance = vi.mocked(useWorkflowService).mock.results[0].value
expect(serviceInstance.saveWorkflow).not.toHaveBeenCalledWith(
mockActiveWorkflow
)
@@ -106,7 +106,7 @@ describe('useWorkflowAutoSave', () => {
vi.advanceTimersByTime(mockAutoSaveDelay)
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const serviceInstance = vi.mocked(useWorkflowService).mock.results[0].value
expect(serviceInstance.saveWorkflow).not.toHaveBeenCalled()
})
@@ -125,7 +125,7 @@ describe('useWorkflowAutoSave', () => {
vi.advanceTimersByTime(1000)
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const serviceInstance = vi.mocked(useWorkflowService).mock.results[0].value
expect(serviceInstance.saveWorkflow).not.toHaveBeenCalled()
vi.advanceTimersByTime(1000)
@@ -146,14 +146,15 @@ describe('useWorkflowAutoSave', () => {
}
})
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const graphChangedCallback = (api.addEventListener as any).mock.calls[0][1]
const serviceInstance = vi.mocked(useWorkflowService).mock.results[0].value
const graphChangedCallback = vi.mocked(api.addEventListener).mock
.calls[0][1]
graphChangedCallback()
graphChangedCallback?.({} as Parameters<typeof graphChangedCallback>[0])
vi.advanceTimersByTime(500)
graphChangedCallback()
graphChangedCallback?.({} as Parameters<typeof graphChangedCallback>[0])
vi.advanceTimersByTime(1999)
expect(serviceInstance.saveWorkflow).not.toHaveBeenCalled()
@@ -180,7 +181,8 @@ describe('useWorkflowAutoSave', () => {
}
})
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const serviceInstance =
vi.mocked(useWorkflowService).mock.results[0].value
serviceInstance.saveWorkflow.mockRejectedValue(new Error('Test Error'))
vi.advanceTimersByTime(1000)
@@ -208,7 +210,7 @@ describe('useWorkflowAutoSave', () => {
}
})
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const serviceInstance = vi.mocked(useWorkflowService).mock.results[0].value
let resolveSave: () => void
const firstSavePromise = new Promise<void>((resolve) => {
resolveSave = resolve
@@ -218,8 +220,9 @@ describe('useWorkflowAutoSave', () => {
vi.advanceTimersByTime(1000)
const graphChangedCallback = (api.addEventListener as any).mock.calls[0][1]
graphChangedCallback()
const graphChangedCallback = vi.mocked(api.addEventListener).mock
.calls[0][1]
graphChangedCallback?.({} as Parameters<typeof graphChangedCallback>[0])
resolveSave!()
await Promise.resolve()
@@ -259,14 +262,15 @@ describe('useWorkflowAutoSave', () => {
await vi.runAllTimersAsync()
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const serviceInstance = vi.mocked(useWorkflowService).mock.results[0].value
expect(serviceInstance.saveWorkflow).toHaveBeenCalledTimes(1)
serviceInstance.saveWorkflow.mockClear()
mockAutoSaveDelay = -500
const graphChangedCallback = (api.addEventListener as any).mock.calls[0][1]
graphChangedCallback()
const graphChangedCallback = vi.mocked(api.addEventListener).mock
.calls[0][1]
graphChangedCallback?.({} as Parameters<typeof graphChangedCallback>[0])
await vi.runAllTimersAsync()
@@ -288,7 +292,7 @@ describe('useWorkflowAutoSave', () => {
vi.advanceTimersByTime(1000)
const serviceInstance = (useWorkflowService as any).mock.results[0].value
const serviceInstance = vi.mocked(useWorkflowService).mock.results[0].value
expect(serviceInstance.saveWorkflow).not.toHaveBeenCalledWith(
mockActiveWorkflow
)