mirror of
https://github.com/element-plus/element-plus.git
synced 2026-03-13 07:51:17 +08:00
refactor(components): [upload] use JSX in Unit test (#9811)
This commit is contained in:
@@ -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', {
|
||||
Reference in New Issue
Block a user