import { mount } from '@vue/test-utils' import Badge from '../index' import { asyncExpect } from '@/tests/utils' describe('Badge', () => { it('badge dot not scaling count > 9', () => { const badge = mount({ render () { return }, }) expect(badge.findAll('.ant-card-multiple-words').length).toBe(0) }) it('badge dot not showing count == 0', () => { const badge = mount({ render () { return }, }) expect(badge.findAll('.ant-badge-dot').length).toBe(0) }) it('should have an overriden title attribute', () => { const badge = mount({ render () { return }, }) expect(badge.find('.ant-scroll-number').element.attributes.getNamedItem('title').value).toEqual('Custom title') }) // https://github.com/ant-design/ant-design/issues/10626 // it('should be composable with Tooltip', async () => { // const wrapper = mount({ // render () { // return // // // }, // }, { sync: false }) // await asyncExpect(() => { // wrapper.find({ name: 'ABadge' }).trigger('mouseenter') // }, 0) // expect(wrapper.vm.$refs.tooltip.sVisible).toBe(true) // }) it('should render when count is changed', async () => { const wrapper = mount(Badge, { propsData: { count: 9, }, sync: false, }) await asyncExpect(() => { wrapper.setProps({ count: 10 }) }, 100) await asyncExpect(() => { expect(wrapper.html()).toMatchSnapshot() wrapper.setProps({ count: 11 }) }, 100) await asyncExpect(() => { expect(wrapper.html()).toMatchSnapshot() wrapper.setProps({ count: 11 }) }, 100) await asyncExpect(() => { expect(wrapper.html()).toMatchSnapshot() wrapper.setProps({ count: 10 }) }, 100) await asyncExpect(() => { expect(wrapper.html()).toMatchSnapshot() wrapper.setProps({ count: 9 }) }, 100) await asyncExpect(() => { expect(wrapper.html()).toMatchSnapshot() }, 100) }) it('should be compatible with borderColor style', () => { const wrapper = mount({ render () { return }, }) expect(wrapper.html()).toMatchSnapshot() }) // https://github.com/ant-design/ant-design/issues/13694 it('should support offset when count is a ReactNode', () => { const wrapper = mount({ render () { return ( } offset={[10, 20]}> ) }, }) expect(wrapper.html()).toMatchSnapshot() }) })