| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- import Badge from '../index';
- import Avatar from '../../avatar/index';
- import ConfigProvider from '../../configProvider';
- function getBadge(props) {
- if (!props.optionList && !props.children) {
- props.children = <Avatar color='blue'>Semi</Avatar>
- }
- return mount(<Badge {...props} />);
- }
- describe('badge', () => {
- it('badge with custom className & style', () => {
- let props = {
- className: 'test',
- style: {
- color: 'red'
- }
- }
- let badge = getBadge(props);
- expect(badge.hasClass('test')).toEqual(true);
- expect(badge.find('span.test')).toHaveStyle('color', 'red');
- badge.unmount();
- });
- it('badge children', () => {
- let children = (<div>semi design</div>)
- let props = {
- children
- };
- let badge = getBadge(props);
- expect(badge.contains(children)).toEqual(true);
- });
-
- it('badge count', () => {
- let props = {
- count: 5
- };
- let badge = getBadge(props);
- expect(badge.find('.semi-badge-count').text()).toEqual("5");
- expect(badge.exists('.semi-badge-dot')).toEqual(false);
- let stringProps = {
- count: 'semi'
- }
- let stringBadge = getBadge(stringProps);
- expect(stringBadge.find('.semi-badge-count').text()).toEqual("semi");
- expect(stringBadge.exists('.semi-badge-dot')).toEqual(false);
- });
- it('badge dot', () => {
- let props = {
- dot: true
- };
- let badge = getBadge(props);
- expect(badge.exists('.semi-badge-dot')).toEqual(true);
- expect(badge.exists('.semi-badge-count')).toEqual(false);
- });
- it('badge overflowCount', () => {
- let props = {
- count: 99,
- overflowCount: 5
- };
- let badge = getBadge(props);
- expect(badge.find('.semi-badge-count').text()).toEqual('5+');
- });
- it('badge type & theme', () => {
- let types = ['primary', 'secondary', 'tertiary', 'warning', 'danger'];
- let themes = ['solid', 'light', 'inverted'];
- let props = {
- type: types[0],
- theme: themes[0]
- }
- let badge = getBadge(props)
- expect(badge.exists(`.semi-badge-${types[0]}`)).toEqual(true);
- badge.setProps({ type: types[1] });
- badge.update();
- expect(badge.exists(`.semi-badge-${types[1]}`)).toEqual(true);
- badge.setProps({ type: types[2] });
- badge.update();
- expect(badge.exists(`.semi-badge-${types[2]}`)).toEqual(true);
- badge.setProps({ type: types[3] });
- badge.update();
- expect(badge.exists(`.semi-badge-${types[3]}`)).toEqual(true);
- badge.setProps({ type: types[4] });
- badge.update();
- expect(badge.exists(`.semi-badge-${types[4]}`)).toEqual(true);
- badge.setProps({ theme: themes[1] });
- badge.update();
- expect(badge.exists(`.semi-badge-${themes[1]}`)).toEqual(true);
- badge.setProps({ theme: themes[2] });
- badge.update();
- expect(badge.exists(`.semi-badge-${themes[2]}`)).toEqual(true);
- });
- it('badge position', () => {
- let leftTop = { position: 'leftTop' };
- let leftBottom = { position: 'leftBottom' };
- let rightTop = { } //rightTop is default position
- let rightBottom = { position: 'rightBottom' };
- let leftTopBadge = getBadge(leftTop);
- let leftBottomBadge = getBadge(leftBottom);
- let rightTopBadge = getBadge(rightTop);
- let rightBottomBadge = getBadge(rightBottom);
- expect(leftTopBadge.exists('.semi-badge-leftTop')).toEqual(true);
- expect(leftBottomBadge.exists('.semi-badge-leftBottom')).toEqual(true);
- expect(rightTopBadge.exists('.semi-badge-rightTop')).toEqual(true);
- expect(rightBottomBadge.exists('.semi-badge-rightBottom')).toEqual(true);
- });
- it('badge in rtl mode', ()=>{
- let rtlWrapper = mount(
- <ConfigProvider direction='rtl'>
- <Badge count={5}>Semi</Badge>
- </ConfigProvider>
- )
- // when in rtl mode, default position is 'rightTop'
- expect(rtlWrapper.exists('.semi-badge-leftTop')).toEqual(true);
- })
- });
|