/* eslint-disable jest/require-top-level-describe */
import { render } from '@testing-library/react';
import React from 'react';
import { AvatarAccount, AvatarAccountSize, AvatarAccountVariant } from '.';
import 'jest-canvas-mock';
describe('AvatarAccount', () => {
it('should render correctly', () => {
const { getByTestId, container } = render(
,
);
expect(getByTestId('avatar-account')).toBeDefined();
expect(container.querySelector('svg')).toBeDefined();
expect(
container.getElementsByClassName('mm-avatar-account__jazzicon'),
).toBeDefined();
expect(container).toMatchSnapshot();
});
it('should render Jazzicon correctly', () => {
const { container } = render(
,
);
expect(container.querySelector('svg')).toBeDefined();
});
it('should render Blockies correctly', () => {
const { container } = render(
,
);
expect(container.querySelector('canvas')).toBeDefined();
expect(container.querySelector('img')).toBeDefined();
});
it('should render with custom classname', () => {
const { getByTestId } = render(
,
);
expect(getByTestId('test')).toHaveClass('mm-avatar-account--test');
});
it('should render with address', () => {
const container = (
);
expect(container.props.address).toStrictEqual(
'0x5CfE73b6021E818B776b421B1c4Db2474086a7e1',
);
});
it('should render with different size classes', () => {
const { getByTestId } = render(
<>
>,
);
expect(getByTestId(AvatarAccountSize.Xs)).toHaveClass(
'mm-avatar-base--size-xs',
);
expect(getByTestId(AvatarAccountSize.Sm)).toHaveClass(
'mm-avatar-base--size-sm',
);
expect(getByTestId(AvatarAccountSize.Md)).toHaveClass(
'mm-avatar-base--size-md',
);
expect(getByTestId(AvatarAccountSize.Lg)).toHaveClass(
'mm-avatar-base--size-lg',
);
expect(getByTestId(AvatarAccountSize.Xl)).toHaveClass(
'mm-avatar-base--size-xl',
);
});
it('should forward a ref to the root html element', () => {
const ref = React.createRef();
render(
,
);
expect(ref.current).not.toBeNull();
expect(ref.current.nodeName).toBe('DIV');
});
});