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 = ( LL CX RM ZL YZ ); 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 => /{restNumber} }); expect( avatarGroup .find('.custom') .at(0) .getDOMNode() .textContent ).toEqual('/2'); }); it('size', () => { const element = (
LL LL LL LL LL LL
); 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 = (
LL LL
); 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); }); });