96 lines
2.6 KiB
JavaScript
96 lines
2.6 KiB
JavaScript
|
import { mount } from '@vue/test-utils'
|
||
|
import { asyncExpect } from '@/tests/utils'
|
||
|
import Select from '..'
|
||
|
import focusTest from '../../../tests/shared/focusTest'
|
||
|
|
||
|
describe('Select', () => {
|
||
|
focusTest(Select)
|
||
|
|
||
|
it('should have default notFoundContent', async () => {
|
||
|
const wrapper = mount(Select, {
|
||
|
propsData: {
|
||
|
mode: 'multiple',
|
||
|
},
|
||
|
sync: false,
|
||
|
})
|
||
|
await asyncExpect(() => {
|
||
|
wrapper.find('.ant-select').trigger('click')
|
||
|
})
|
||
|
const dropdownWrapper = mount({
|
||
|
render () {
|
||
|
return wrapper.find({ name: 'Trigger' }).vm.getComponent()
|
||
|
},
|
||
|
}, { sync: false })
|
||
|
|
||
|
await asyncExpect(() => {
|
||
|
expect(dropdownWrapper.findAll({ name: 'MenuItem' }).length).toBe(1)
|
||
|
expect(dropdownWrapper.findAll({ name: 'MenuItem' }).at(0).text()).toBe('Not Found')
|
||
|
})
|
||
|
})
|
||
|
|
||
|
it('should support set notFoundContent to null', async () => {
|
||
|
const wrapper = mount(Select, {
|
||
|
propsData: {
|
||
|
mode: 'multiple',
|
||
|
notFoundContent: null,
|
||
|
},
|
||
|
sync: false,
|
||
|
})
|
||
|
await asyncExpect(() => {
|
||
|
wrapper.find('.ant-select').trigger('click')
|
||
|
})
|
||
|
const dropdownWrapper = mount({
|
||
|
render () {
|
||
|
return wrapper.find({ name: 'Trigger' }).vm.getComponent()
|
||
|
},
|
||
|
}, { sync: false })
|
||
|
await asyncExpect(() => {
|
||
|
expect(dropdownWrapper.findAll({ name: 'MenuItem' }).length).toBe(0)
|
||
|
})
|
||
|
})
|
||
|
|
||
|
it('should not have default notFoundContent when mode is combobox', async () => {
|
||
|
const wrapper = mount(Select, {
|
||
|
propsData: {
|
||
|
mode: 'combobox',
|
||
|
},
|
||
|
sync: false,
|
||
|
})
|
||
|
await asyncExpect(() => {
|
||
|
wrapper.find('.ant-select').trigger('click')
|
||
|
})
|
||
|
|
||
|
const dropdownWrapper = mount({
|
||
|
render () {
|
||
|
return wrapper.find({ name: 'Trigger' }).vm.getComponent()
|
||
|
},
|
||
|
}, { sync: false })
|
||
|
await asyncExpect(() => {
|
||
|
expect(dropdownWrapper.findAll('MenuItem').length).toBe(0)
|
||
|
})
|
||
|
})
|
||
|
|
||
|
it('should not have notFoundContent when mode is combobox and notFoundContent is set', async () => {
|
||
|
const wrapper = mount(Select, {
|
||
|
propsData: {
|
||
|
mode: 'combobox',
|
||
|
notFoundContent: 'not at all',
|
||
|
},
|
||
|
sync: false,
|
||
|
})
|
||
|
await asyncExpect(() => {
|
||
|
wrapper.find('.ant-select').trigger('click')
|
||
|
})
|
||
|
|
||
|
const dropdownWrapper = mount({
|
||
|
render () {
|
||
|
return wrapper.find({ name: 'Trigger' }).vm.getComponent()
|
||
|
},
|
||
|
}, { sync: false })
|
||
|
await asyncExpect(() => {
|
||
|
expect(dropdownWrapper.findAll({ name: 'MenuItem' }).length).toBe(1)
|
||
|
expect(dropdownWrapper.findAll({ name: 'MenuItem' }).at(0).text()).toBe('not at all')
|
||
|
})
|
||
|
})
|
||
|
})
|