import { mount } from '@vue/test-utils'; import { describe, expect, it } from 'vitest'; import ProductSidebar from '../app/components/product/ProductSidebar.vue'; import type { Category } from '../app/composables/useProductCenter'; const categories: Category[] = [{ id: 'men', name: '男士服装', icon: null, parentId: null, children: [{ id: 'men-tee', name: 'T恤', icon: null, parentId: 'men', children: [] }], }]; describe('ProductSidebar', () => { it('selects and expands a parent category when it is clicked', async () => { const wrapper = mount(ProductSidebar, { props: { categories, activeCategoryId: null }, }); await wrapper.findAll('.root-row')[1]?.trigger('click'); expect(wrapper.emitted('update:activeCategoryId')).toEqual([['men']]); expect(wrapper.text()).toContain('T恤'); }); });