import { nextTick } from 'vue' import { mount } from '@vue/test-utils' import { CaretTop } from '@element-plus/icons-vue' import Backtop from '../src/backtop.vue' const _mount = (template: string) => mount( { components: { 'el-backtop': Backtop, }, template, }, { attachTo: document.body } ) describe('Backtop.vue', () => { test('render', async () => { const wrapper = _mount(`
`) await nextTick() expect(wrapper.find('.el-backtop').exists()).toBe(false) wrapper.element.scrollTop = 2000 await wrapper.trigger('scroll') expect(wrapper.find('.el-backtop').exists()).toBe(true) expect(wrapper.find('.el-backtop').attributes('style')).toBe( 'right: 100px; bottom: 200px;' ) expect(wrapper.findComponent(CaretTop).exists()).toBe(true) await wrapper.trigger('click') expect(wrapper.emitted()).toBeDefined() }) })