import { Size } from '../common'; import { render, screen } from '../test-utils'; import avatarColorTestCases from './colors/avatarColorTestCases.json'; import Avatar, { AvatarType } from '.'; describe('Avatar', () => { it('renders a medium sized thumbnail Avatar with NO outline', () => { render( 😎 , ); expect(screen.getByText('😎')?.parentElement?.parentElement).toHaveClass( 'tw-avatar tw-avatar--thumbnail tw-avatar--48', ); }); it('renders a small sized emoji Avatar with outline', () => { render( 💰 , ); expect(screen.getByText('💰')?.parentElement?.parentElement).toHaveClass( 'tw-avatar tw-avatar--emoji tw-avatar--24 tw-avatar--outlined', ); }); describe('branded avatar colors', () => { it.each(avatarColorTestCases)( 'for seed of $key return background color of `$color.token`', (item: { key: string | number; color: { hex: string; token: string } }) => { render(JS); expect(screen.getByText('JS')).toHaveStyle(`background-color: var(${item.color.token})`); }, ); }); it('adds aria-label to component if it is passed in', () => { render( , ); expect(screen.getByLabelText('Japanese flag avatar')).toBeInTheDocument(); }); });