refactor(components): [upload] use JSX in Unit test (#9811)

This commit is contained in:
류한경
2022-09-18 11:53:06 +09:00
committed by GitHub
parent af7f629138
commit 56de777f2f

View File

@@ -1,30 +1,23 @@
import { computed, defineComponent, h, provide } from 'vue'
import { computed, provide } from 'vue'
import { mount } from '@vue/test-utils'
import { describe, expect, test, vi } from 'vitest'
import makeMount from '@element-plus/test-utils/make-mount'
import { uploadContextKey } from '@element-plus/tokens'
import UploadDragger from '../src/upload-dragger.vue'
const AXIOM = 'Rem is the best girl'
const Wrapper = defineComponent({
props: {
onDrop: Function,
},
setup(props, { slots }) {
provide(uploadContextKey, { accept: computed(() => 'video/*') })
return () => h(UploadDragger, props, slots)
},
})
const mount = makeMount(Wrapper, {
slots: {
default: () => AXIOM,
},
})
const _mount = (props = {}) =>
mount({
setup() {
provide(uploadContextKey, { accept: computed(() => 'video/*') })
return () => <UploadDragger {...props}>{AXIOM}</UploadDragger>
},
})
describe('<upload-dragger />', () => {
describe('render test', () => {
test('should render correct', () => {
const wrapper = mount()
const wrapper = _mount()
expect(wrapper.text()).toBe(AXIOM)
})
@@ -32,18 +25,14 @@ describe('<upload-dragger />', () => {
describe('functionality', () => {
test('onDrag works', async () => {
const wrapper = mount()
const wrapper = _mount()
await wrapper.find('.el-upload-dragger').trigger('dragover')
expect(wrapper.classes('is-dragover')).toBe(true)
})
test('ondrop works for any given video type', async () => {
const onDrop = vi.fn()
const wrapper = mount({
props: {
onDrop,
},
})
const wrapper = _mount({ onDrop })
const dragger = wrapper.findComponent(UploadDragger)
await dragger.trigger('drop', {