import { describe, it, expect, vi } from 'vitest' import { mount } from '@vue/test-utils' import { createI18n } from 'vue-i18n' import ZiweiPage from '../index.vue' const i18n = createI18n({ legacy: false, locale: 'zh-CN', messages: { 'zh-CN': { ziwei: { generateChart: '排盘', birthTime: '出生时间', gender: '性别', }, }, }, }) function mountPage() { return mount(ZiweiPage, { global: { plugins: [i18n], stubs: { picker: true, }, }, }) } describe('ZiweiPage', () => { it('应包含出生信息输入表单', () => { const wrapper = mountPage() expect(wrapper.find('[data-test="birth-form"]').exists()).toBe(true) }) it('应包含排盘按钮', () => { const wrapper = mountPage() expect(wrapper.find('[data-test="generate-btn"]').exists()).toBe(true) }) it('点击排盘按钮应触发计算', async () => { const wrapper = mountPage() await wrapper.find('[data-test="generate-btn"]').trigger('click') expect(wrapper.vm.isCalculating).toBeDefined() }) })