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')
    })
  })
})