mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-23 06:10:32 +00:00
Backport of #10965 to `core/1.43` Automatically created by backport workflow. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-11488-backport-core-1-43-test-migrate-132-test-files-from-vue-test-utils-to-testing-libra-3496d73d365081d4bfc2d8db3cb27317) by [Unito](https://www.unito.io) Co-authored-by: Alexander Brown <drjkl@comfy.org> Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: Christian Byrne <cbyrne@comfy.org>
65 lines
1.5 KiB
TypeScript
65 lines
1.5 KiB
TypeScript
import { render, screen } from '@testing-library/vue'
|
|
import userEvent from '@testing-library/user-event'
|
|
import { createPinia, setActivePinia } from 'pinia'
|
|
import PrimeVue from 'primevue/config'
|
|
import Tooltip from 'primevue/tooltip'
|
|
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
import { createI18n } from 'vue-i18n'
|
|
|
|
import InfoButton from '@/components/graph/selectionToolbox/InfoButton.vue'
|
|
import Button from '@/components/ui/button/Button.vue'
|
|
|
|
const { openPanelMock } = vi.hoisted(() => ({
|
|
openPanelMock: vi.fn()
|
|
}))
|
|
|
|
vi.mock('@/stores/workspace/rightSidePanelStore', () => ({
|
|
useRightSidePanelStore: () => ({
|
|
openPanel: openPanelMock
|
|
})
|
|
}))
|
|
|
|
vi.mock('@/platform/telemetry', () => ({
|
|
useTelemetry: () => ({
|
|
trackUiButtonClicked: vi.fn()
|
|
})
|
|
}))
|
|
|
|
describe('InfoButton', () => {
|
|
const i18n = createI18n({
|
|
legacy: false,
|
|
locale: 'en',
|
|
messages: {
|
|
en: {
|
|
g: {
|
|
info: 'Node Info'
|
|
}
|
|
}
|
|
}
|
|
})
|
|
|
|
beforeEach(() => {
|
|
setActivePinia(createPinia())
|
|
vi.clearAllMocks()
|
|
})
|
|
|
|
const renderComponent = () => {
|
|
return render(InfoButton, {
|
|
global: {
|
|
plugins: [i18n, PrimeVue],
|
|
directives: { tooltip: Tooltip },
|
|
components: { Button }
|
|
}
|
|
})
|
|
}
|
|
|
|
it('should open the info panel on click', async () => {
|
|
const user = userEvent.setup()
|
|
renderComponent()
|
|
|
|
await user.click(screen.getByRole('button', { name: 'Node Info' }))
|
|
|
|
expect(openPanelMock).toHaveBeenCalledWith('info')
|
|
})
|
|
})
|