import React from 'react';
import Empty from '..';
import mountTest from '../../../tests/shared/mountTest';
import rtlTest from '../../../tests/shared/rtlTest';
import { render } from '../../../tests/utils';
import ConfigProvider from '../../config-provider';
import theme from '../../theme';
describe('Empty', () => {
mountTest(Empty);
rtlTest(Empty);
it('image size should change', () => {
const { container } = render();
expect(container.querySelector('.ant-empty-image')?.style.height).toBe('20px');
});
it('description can be false', () => {
const { container } = render();
expect(container.querySelector('.ant-empty-description')).toBeFalsy();
});
it('should render in RTL direction', () => {
const { asFragment } = render(
,
);
expect(asFragment().firstChild).toMatchSnapshot();
});
it('dark mode compatible', () => {
const { container } = render(
,
);
expect(container.querySelector('svg')).toHaveStyle({
opacity: 0.65,
});
});
it('should apply custom styles to Empty', () => {
const customClassNames = {
root: 'custom-root',
description: 'custom-description',
footer: 'custom-footer',
image: 'custom-image',
};
const customStyles = {
root: { color: 'red' },
description: { color: 'green' },
footer: { color: 'yellow' },
image: { backgroundColor: 'black' },
};
const { container } = render(
Create Now
,
);
const emptyElement = container.querySelector('.ant-empty') as HTMLElement;
const emptyFooterElement = container.querySelector('.ant-empty-footer') as HTMLElement;
const emptyDescriptionElement = container.querySelector(
'.ant-empty-description',
) as HTMLElement;
const emptyImageElement = container.querySelector('.ant-empty-image') as HTMLElement;
// check classNames
expect(emptyElement.classList).toContain('custom-root');
expect(emptyFooterElement.classList).toContain('custom-footer');
expect(emptyDescriptionElement.classList).toContain('custom-description');
expect(emptyImageElement.classList).toContain('custom-image');
// check styles
expect(emptyElement.style.color).toBe('red');
expect(emptyDescriptionElement.style.color).toBe('green');
expect(emptyFooterElement.style.color).toBe('yellow');
expect(emptyImageElement.style.backgroundColor).toBe('black');
});
});