vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.9 KiB
71 lines
1.9 KiB
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 ( |
|
<Alert |
|
message="Warning Text Warning Text Warning TextW arning Text Warning Text Warning TextWarning Text" |
|
type="warning" |
|
closable |
|
onClose={onClose} |
|
afterClose={afterClose} |
|
ref="alert" |
|
/> |
|
); |
|
}, |
|
}); |
|
wrapper.find('.ant-alert-close-icon').trigger('click'); |
|
expect(onClose).toHaveBeenCalled(); |
|
jest.runAllTimers(); |
|
wrapper.vm.$refs.alert.animationEnd(); |
|
expect(afterClose).toHaveBeenCalled(); |
|
}); |
|
|
|
describe('data and aria props', () => { |
|
it('sets data attributes on input', () => { |
|
const wrapper = mount({ |
|
render() { |
|
return <Alert data-test="test-id" data-id="12345" />; |
|
}, |
|
}); |
|
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 <Alert aria-describedby="some-label" />; |
|
}, |
|
}); |
|
|
|
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 <Alert role="status" />; |
|
}, |
|
}); |
|
|
|
const input = wrapper.find('.ant-alert').element; |
|
expect(input.getAttribute('role')).toBe('status'); |
|
}); |
|
}); |
|
});
|
|
|