import { nextTick, ref } from 'vue' import { mount } from '@vue/test-utils' import { describe, expect, it } from 'vitest' import Statistic from '../src/statistic.vue' const TITLE_CLASS = '.el-statistic__head' const CONTENT_CLASS = '.el-statistic__content' const PERFIX_CLASS = '.el-statistic__prefix' const SUFFIX_CLASS = '.el-statistic__suffix' describe('Statistic.vue', () => { it('render test', () => { const wrapper = mount(() => ) expect(wrapper.find(TITLE_CLASS).text()).toBe('test') expect(wrapper.find(CONTENT_CLASS).text()).toBe('57,454,157') }) it('basics test', () => { const wrapper = mount(() => ) expect(wrapper.find(CONTENT_CLASS).text()).toBe('268,500') }) it('precision', async () => { const precision = ref(6) const wrapper = mount(() => ( )) expect(wrapper.find(CONTENT_CLASS).text()).toBe('268,500.123456') precision.value = 4 await nextTick() expect(wrapper.find(CONTENT_CLASS).text()).toBe('268,500.1234') }) it('prefix & suffix', () => { const slots = { prefix: () => 'prefix', suffix: () => 'suffix', } const wrapper = mount(() => ) expect(wrapper.find(PERFIX_CLASS).text()).toBe('prefix') expect(wrapper.find(SUFFIX_CLASS).text()).toBe('suffix') expect(wrapper.find(CONTENT_CLASS).text()).toBe('prefix57,454,157suffix') }) })