import { mount } from '@vue/test-utils'
import Alert from '..'
describe('Alert', () => {
beforeAll(() => {
jest.useFakeTimers()
})
afterAll(() => {
jest.useRealTimers()
})
it('could be closed', () => {
const onClose = jest.fn()
const afterClose = jest.fn()
const wrapper = mount({
render () {
return
},
})
wrapper.find('.ant-alert-close-icon').trigger('click')
expect(onClose).toBeCalled()
jest.runAllTimers()
wrapper.vm.$refs.alert.animationEnd()
expect(afterClose).toBeCalled()
})
describe('data and aria props', () => {
it('sets data attributes on input', () => {
const wrapper = mount({
render () {
return
},
})
const input = wrapper.find('.ant-alert').element
expect(input.getAttribute('data-test')).toBe('test-id')
expect(input.getAttribute('data-id')).toBe('12345')
})
it('sets aria attributes on input', () => {
const wrapper = mount({
render () {
return
},
})
const input = wrapper.find('.ant-alert').element
expect(input.getAttribute('aria-describedby')).toBe('some-label')
})
it('sets role attribute on input', () => {
const wrapper = mount({
render () {
return
},
})
const input = wrapper.find('.ant-alert').element
expect(input.getAttribute('role')).toBe('status')
})
})
})