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