vant/src/badge/test/index.spec.ts
2021-03-19 09:59:51 +08:00

85 lines
1.8 KiB
TypeScript

import { Badge } from '..';
import { mount } from '../../../test';
test('should render nothing when content is empty string', () => {
const wrapper = mount(Badge, {
props: {
content: '',
},
});
expect(wrapper.html()).toMatchSnapshot();
});
test('should render nothing when content is undefined', () => {
const wrapper = mount(Badge, {
props: {
content: undefined,
},
});
expect(wrapper.html()).toMatchSnapshot();
});
test('should render nothing when content is zero', () => {
const wrapper = mount(Badge, {
props: {
content: 0,
},
});
expect(wrapper.html()).toMatchSnapshot();
});
test('should render content slot correctly', () => {
const wrapper = mount(Badge, {
slots: {
content: () => 'Custom Content',
},
});
expect(wrapper.html()).toMatchSnapshot();
});
test('should change dot position when using offset prop', () => {
const wrapper = mount(Badge, {
props: {
dot: true,
offset: [2, 4],
},
slots: {
default: () => 'Child',
},
});
const badge = wrapper.find('.van-badge');
expect(badge.style.top).toEqual('4px');
expect(badge.style.right).toEqual('-2px');
});
test('should change dot position when using offset prop without children', () => {
const wrapper = mount(Badge, {
props: {
dot: true,
offset: [2, 4],
},
});
const badge = wrapper.find('.van-badge');
expect(badge.style.marginTop).toEqual('4px');
expect(badge.style.marginLeft).toEqual('2px');
});
test('should not render zero when show-zero is false', async () => {
const wrapper = mount(Badge, {
props: {
content: 0,
},
});
expect(wrapper.find('.van-badge').exists()).toBeTruthy();
await wrapper.setProps({ showZero: false });
expect(wrapper.find('.van-badge').exists()).toBeFalsy();
});