Files
ComfyUI_frontend/src/components/bottomPanel/tabs/shortcuts/EssentialsPanel.test.ts
Alexander Brown 3956fa68a8 fix: code quality improvements across codebase
- Fix STL export comma operator bug (originalURL was silently discarded)
- Remove redundant null checks, identical branches in CameraManager
- Simplify ViewHelperManager.visibleViewHelper boolean assignment
- Remove redundant inner length check in AnimationManager
- Extract calculateLetterbox helper to deduplicate aspect-ratio calcs
- Add explicit return types to ComfyApi public methods
- Extract registerAuthHook helper in extensionService
- Extract prepareConfigureData in litegraphService
- Rename NeverNever to OmitNeverProps for clarity
- Rename progressBarBackground.ts to useProgressBarBackground.ts
- Move tooltipConfig.ts to utils/ (not a composable)
- Remove restating comments and formulaic docstrings
- Add missing return type to getStorageValue
- Remove unnecessary runtime validation in deprecated gridUtil
- Simplify updateControlWidgetLabel and ControlsManager zoom narrowing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 13:57:05 -08:00

81 lines
2.3 KiB
TypeScript

import { mount } from '@vue/test-utils'
import { createPinia, setActivePinia } from 'pinia'
import { beforeEach, describe, expect, it, vi } from 'vitest'
import EssentialsPanel from '@/components/bottomPanel/tabs/shortcuts/EssentialsPanel.vue'
import ShortcutsList from '@/components/bottomPanel/tabs/shortcuts/ShortcutsList.vue'
import type { ComfyCommandImpl } from '@/stores/commandStore'
// Mock ShortcutsList component
vi.mock('@/components/bottomPanel/tabs/shortcuts/ShortcutsList.vue', () => ({
default: {
name: 'ShortcutsList',
props: ['commands', 'subcategories', 'columns'],
template:
'<div class="shortcuts-list-mock">{{ commands.length }} commands</div>'
}
}))
// Mock command store
const mockCommands: ComfyCommandImpl[] = [
{
id: 'Workflow.New',
label: 'New Workflow',
category: 'essentials'
} as ComfyCommandImpl,
{
id: 'Node.Add',
label: 'Add Node',
category: 'essentials'
} as ComfyCommandImpl,
{
id: 'Queue.Clear',
label: 'Clear Queue',
category: 'essentials'
} as ComfyCommandImpl,
{
id: 'Other.Command',
label: 'Other Command',
category: 'view-controls',
function: vi.fn(),
icon: 'pi pi-test',
tooltip: 'Test tooltip',
menubarLabel: 'Other Command',
keybinding: undefined
} as ComfyCommandImpl
]
vi.mock('@/stores/commandStore', () => ({
useCommandStore: () => ({
commands: mockCommands
})
}))
describe('EssentialsPanel', () => {
beforeEach(() => {
setActivePinia(createPinia())
})
it('should render ShortcutsList with essentials commands', () => {
const wrapper = mount(EssentialsPanel)
const shortcutsList = wrapper.findComponent(ShortcutsList)
expect(shortcutsList.exists()).toBe(true)
})
it('should categorize commands into subcategories', () => {
const wrapper = mount(EssentialsPanel)
const shortcutsList = wrapper.findComponent(ShortcutsList)
const subcategories = shortcutsList.props('subcategories')
expect(subcategories).toHaveProperty('workflow')
expect(subcategories).toHaveProperty('node')
expect(subcategories).toHaveProperty('queue')
expect(subcategories.workflow).toContain(mockCommands[0])
expect(subcategories.node).toContain(mockCommands[1])
expect(subcategories.queue).toContain(mockCommands[2])
})
})