mirror of
https://github.com/tusen-ai/naive-ui.git
synced 2025-03-07 13:48:31 +08:00
test(date-picker): update test (#1376)
* test(date-picker): Update date-picker component test * test(date-picker): Update date-picker component test * test(date-picker): Update date-picker component test * test(date-picker): Update date-picker component test
This commit is contained in:
parent
ad996a6e81
commit
871e86ed75
@ -2,11 +2,14 @@ import { ref } from 'vue'
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { NDatePicker } from '../index'
|
||||
import { Value } from '../src/interface'
|
||||
import { format } from 'date-fns'
|
||||
import { useLocale } from '../../_mixins'
|
||||
|
||||
describe('n-date-picker', () => {
|
||||
it('should work with import on demand', () => {
|
||||
mount(NDatePicker).unmount()
|
||||
})
|
||||
|
||||
it('date type should work with shortcuts prop', async () => {
|
||||
const test = ref<Value>(0)
|
||||
const wrapper = mount(NDatePicker, {
|
||||
@ -39,6 +42,7 @@ describe('n-date-picker', () => {
|
||||
expect(test.value).toEqual(1631203200000)
|
||||
wrapper.unmount()
|
||||
})
|
||||
|
||||
it('range type should work with shortcuts prop', async () => {
|
||||
const test = ref<Value>(0)
|
||||
const wrapper = mount(NDatePicker, {
|
||||
@ -124,4 +128,91 @@ describe('n-date-picker', () => {
|
||||
)
|
||||
wrapper.unmount()
|
||||
})
|
||||
|
||||
it('should work with `defaultValue` prop', async () => {
|
||||
const { dateLocaleRef } = useLocale('Time')
|
||||
const wrapper = mount(NDatePicker, {
|
||||
props: {
|
||||
defaultValue: 1183135260000
|
||||
}
|
||||
})
|
||||
|
||||
const inputEl = await wrapper.find('.n-input__input').find('input')
|
||||
expect(inputEl.element.value).toEqual(
|
||||
format(1183135260000, 'yyyy-MM-dd', {
|
||||
locale: dateLocaleRef.value.locale
|
||||
})
|
||||
)
|
||||
})
|
||||
|
||||
it('should work with `firstDayOfWeek` prop', async () => {
|
||||
const wrapper = mount(NDatePicker, {
|
||||
attachTo: document.body,
|
||||
props: {
|
||||
firstDayOfWeek: 1
|
||||
}
|
||||
})
|
||||
|
||||
await wrapper.find('.n-input__input').trigger('click')
|
||||
expect(
|
||||
document.querySelectorAll('.n-date-panel-weekdays__day')[0].textContent
|
||||
).toBe('Tu')
|
||||
|
||||
wrapper.unmount()
|
||||
})
|
||||
|
||||
it('should work with `type` prop', async () => {
|
||||
const wrapper = mount(NDatePicker, {
|
||||
attachTo: document.body,
|
||||
props: { type: 'date' }
|
||||
})
|
||||
|
||||
await wrapper.find('.n-input__input').trigger('click')
|
||||
expect(document.querySelector('.n-date-panel--date')).not.toEqual(null)
|
||||
|
||||
await wrapper.setProps({ type: 'datetime' })
|
||||
await wrapper.find('.n-input__input').trigger('click')
|
||||
expect(document.querySelector('.n-date-panel--datetime')).not.toEqual(null)
|
||||
|
||||
await wrapper.setProps({ type: 'daterange' })
|
||||
await wrapper.find('.n-input__input').trigger('click')
|
||||
expect(document.querySelector('.n-date-panel--daterange')).not.toEqual(null)
|
||||
|
||||
await wrapper.setProps({ type: 'datetimerange' })
|
||||
await wrapper.find('.n-input__input').trigger('click')
|
||||
expect(document.querySelector('.n-date-panel--datetimerange')).not.toEqual(
|
||||
null
|
||||
)
|
||||
|
||||
await wrapper.setProps({ type: 'month' })
|
||||
await wrapper.find('.n-input__input').trigger('click')
|
||||
expect(document.querySelector('.n-date-panel--month')).not.toEqual(null)
|
||||
|
||||
wrapper.unmount()
|
||||
})
|
||||
|
||||
it('should work with `onBlur` prop', async () => {
|
||||
const onBlur = jest.fn()
|
||||
const wrapper = mount(NDatePicker, {
|
||||
props: { onBlur }
|
||||
})
|
||||
|
||||
await wrapper.find('input').trigger('focus')
|
||||
await wrapper.find('input').trigger('blur')
|
||||
expect(onBlur).toHaveBeenCalled()
|
||||
|
||||
wrapper.unmount()
|
||||
})
|
||||
|
||||
it('should work with `onFocus` prop', async () => {
|
||||
const onFocus = jest.fn()
|
||||
const wrapper = mount(NDatePicker, {
|
||||
props: { onFocus }
|
||||
})
|
||||
|
||||
await wrapper.find('input').trigger('focus')
|
||||
expect(onFocus).toHaveBeenCalled()
|
||||
|
||||
wrapper.unmount()
|
||||
})
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user