mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-07 06:00:03 +00:00
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:
committed by
GitHub
parent
440e25e232
commit
3946d7b5ff
@@ -3,8 +3,6 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
||||
import { ref } from 'vue'
|
||||
|
||||
import { useVersionCompatibilityStore } from '@/platform/updates/common/versionCompatibilityStore'
|
||||
import { useSettingStore } from '@/platform/settings/settingStore'
|
||||
import { useSystemStatsStore } from '@/stores/systemStatsStore'
|
||||
|
||||
vi.mock('@/config', () => ({
|
||||
default: {
|
||||
@@ -12,13 +10,14 @@ vi.mock('@/config', () => ({
|
||||
}
|
||||
}))
|
||||
|
||||
vi.mock('@/stores/systemStatsStore')
|
||||
const mockUseSystemStatsStore = vi.hoisted(() => vi.fn())
|
||||
vi.mock('@/stores/systemStatsStore', () => ({
|
||||
useSystemStatsStore: mockUseSystemStatsStore
|
||||
}))
|
||||
|
||||
// Mock settingStore
|
||||
const mockUseSettingStore = vi.hoisted(() => vi.fn())
|
||||
vi.mock('@/platform/settings/settingStore', () => ({
|
||||
useSettingStore: vi.fn(() => ({
|
||||
get: vi.fn(() => false) // Default to warnings enabled (false = not disabled)
|
||||
}))
|
||||
useSettingStore: mockUseSettingStore
|
||||
}))
|
||||
|
||||
// Mock useStorage and until from VueUse
|
||||
@@ -28,10 +27,16 @@ vi.mock('@vueuse/core', () => ({
|
||||
until: vi.fn(() => Promise.resolve())
|
||||
}))
|
||||
|
||||
type MockSystemStatsStore = {
|
||||
systemStats: unknown
|
||||
isInitialized: boolean
|
||||
refetchSystemStats: ReturnType<typeof vi.fn>
|
||||
}
|
||||
|
||||
describe('useVersionCompatibilityStore', () => {
|
||||
let store: ReturnType<typeof useVersionCompatibilityStore>
|
||||
let mockSystemStatsStore: any
|
||||
let mockSettingStore: any
|
||||
let mockSystemStatsStore: MockSystemStatsStore
|
||||
let mockSettingStore: { get: ReturnType<typeof vi.fn> }
|
||||
|
||||
beforeEach(() => {
|
||||
setActivePinia(createPinia())
|
||||
@@ -49,8 +54,8 @@ describe('useVersionCompatibilityStore', () => {
|
||||
get: vi.fn(() => false) // Default to warnings enabled
|
||||
}
|
||||
|
||||
vi.mocked(useSystemStatsStore).mockReturnValue(mockSystemStatsStore)
|
||||
vi.mocked(useSettingStore).mockReturnValue(mockSettingStore)
|
||||
mockUseSystemStatsStore.mockReturnValue(mockSystemStatsStore)
|
||||
mockUseSettingStore.mockReturnValue(mockSettingStore)
|
||||
|
||||
store = useVersionCompatibilityStore()
|
||||
})
|
||||
@@ -213,7 +218,9 @@ describe('useVersionCompatibilityStore', () => {
|
||||
|
||||
it('should not show warning when disabled via setting', async () => {
|
||||
// Enable the disable setting
|
||||
mockSettingStore.get.mockReturnValue(true)
|
||||
;(
|
||||
mockSettingStore as { get: ReturnType<typeof vi.fn> }
|
||||
).get.mockReturnValue(true)
|
||||
|
||||
// Set up version mismatch that would normally show warning
|
||||
mockSystemStatsStore.systemStats = {
|
||||
@@ -227,9 +234,9 @@ describe('useVersionCompatibilityStore', () => {
|
||||
await store.checkVersionCompatibility()
|
||||
|
||||
expect(store.shouldShowWarning).toBe(false)
|
||||
expect(mockSettingStore.get).toHaveBeenCalledWith(
|
||||
'Comfy.VersionCompatibility.DisableWarnings'
|
||||
)
|
||||
expect(
|
||||
(mockSettingStore as { get: ReturnType<typeof vi.fn> }).get
|
||||
).toHaveBeenCalledWith('Comfy.VersionCompatibility.DisableWarnings')
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user