| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 | import AvatarGroup from '../avatarGroup';import Avatar from '../index';import { mount } from 'enzyme';import React from 'react';import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';function getAg(props) {    const baseAvatarGroup = (        <AvatarGroup {...props}>            <Avatar color='red'>LL</Avatar>            <Avatar >CX</Avatar>            <Avatar color='amber'>RM</Avatar>            <Avatar style={{ color: '#f56a00', backgroundColor: '#fde3cf' }}>ZL</Avatar>            <Avatar style={{ backgroundColor: '#87d068' }} >YZ</Avatar>        </AvatarGroup>    );    return mount(baseAvatarGroup, { attachTo: document.getElementById('container') });}describe('AvatarGroup', () => {    it('【className】custom className', () => {        let props = {            className: 'test',        };        const wrapper = getAg(props);        expect(wrapper.hasClass('test')).toEqual(true);    });    it('avatarGroup overlapFrom', () => {        const avatarGroup = getAg();        expect(avatarGroup.props().overlapFrom).toEqual('start');        avatarGroup.setProps({ overlapFrom: 'end' });        avatarGroup.update();        expect(avatarGroup.props().overlapFrom).toEqual('end');    });    it('maxCount', () => {        const avatarGroup = getAg({maxCount: 3});        expect(            avatarGroup            .find(`.${BASE_CLASS_PREFIX}-avatar`)            .at(3)            .find(`.${BASE_CLASS_PREFIX}-avatar-content .${BASE_CLASS_PREFIX}-avatar-label`)            .getDOMNode()            .textContent        ).toEqual('+2');    });    it('renderMore', () => {        const avatarGroup = getAg({            maxCount: 3,            renderMore: restNumber => <span className='custom'>/{restNumber}</span>        });        expect(            avatarGroup            .find('.custom')            .at(0)            .getDOMNode()            .textContent        ).toEqual('/2');    });    it('size', () => {        const element = (            <div>                <AvatarGroup size="extra-extra-small" style={{ margin: 4 }}>                    <Avatar color="red">LL</Avatar>                </AvatarGroup>                <AvatarGroup size="extra-small" style={{ margin: 4 }}>                    <Avatar color="red">LL</Avatar>                </AvatarGroup>                <AvatarGroup size="small" style={{ margin: 4 }}>                    <Avatar color="red">LL</Avatar>                </AvatarGroup>                <AvatarGroup size="default" style={{ margin: 4 }}>                    <Avatar color="red">LL</Avatar>                </AvatarGroup>                <AvatarGroup size="large" style={{ margin: 4 }}>                    <Avatar color="red">LL</Avatar>                </AvatarGroup>                <AvatarGroup size="extra-large" style={{ margin: 4 }}>                    <Avatar color="red">LL</Avatar>                </AvatarGroup>            </div>        );        const wrapper = mount(element);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(1)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-extra-extra-small`)                .length        ).toEqual(0);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-extra-extra-small`)                .length        ).toEqual(1);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(1)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-extra-small`)                .length        ).toEqual(1);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(2)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-small`)                .length        ).toEqual(1);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(3)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-default`)                .length        ).toEqual(1);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(4)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-large`)                .length        ).toEqual(1);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(5)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-extra-large`)                .length        ).toEqual(1);    });    it('size', () => {        const element = (            <div>                <AvatarGroup shape='circle' style={{ margin: 4 }}>                    <Avatar color="red">LL</Avatar>                </AvatarGroup>                <AvatarGroup shape='square' style={{ margin: 4 }}>                    <Avatar color="red">LL</Avatar>                </AvatarGroup>            </div>        );        const wrapper = mount(element);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(1)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-circle`)                .length        ).toEqual(0);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-circle`)                .length        ).toEqual(1);        expect(            wrapper                .find(`.${BASE_CLASS_PREFIX}-avatar-group`)                .at(1)                .find(`.${BASE_CLASS_PREFIX}-avatar`)                .at(0)                .find(`.${BASE_CLASS_PREFIX}-avatar-square`)                .length        ).toEqual(1);    });});
 |