empty.test.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { Empty } from '../../index';
  2. import { sleep as baseSleep } from '../../_test_/utils';
  3. import { IllustrationConstruction, IllustrationConstructionDark } from '@douyinfe/semi-illustrations';
  4. describe('Empty', () => {
  5. it('test className & style', () => {
  6. let props = {
  7. className: 'test',
  8. style: {
  9. color: 'red',
  10. },
  11. };
  12. const demo = mount(<Empty {...props}></Empty>);
  13. expect(demo.exists(`.semi-empty.semi-empty.test`)).toEqual(true);
  14. expect(demo.find(`.semi-empty`)).toHaveStyle('color', 'red');
  15. demo.unmount();
  16. });
  17. it('test description & title', () => {
  18. let props = {
  19. title: 'empty title',
  20. description: 'semi design',
  21. };
  22. const demo = mount(<Empty {...props}></Empty>);
  23. expect(demo.find(`.semi-typography.semi-empty-title`).text()).toEqual('empty title');
  24. expect(demo.find(`.semi-empty .semi-empty-description`).text()).toEqual('semi design');
  25. demo.unmount();
  26. });
  27. it('test layout', () => {
  28. let props = {
  29. layout: 'horizontal',
  30. };
  31. const demo = mount(
  32. <div>
  33. <Empty {...props}></Empty>
  34. <Empty {...props} layout="vertical"></Empty>
  35. </div>
  36. );
  37. expect(demo.exists(`.semi-empty-vertical`)).toBe(true);
  38. expect(demo.exists(`.semi-empty-horizontal`)).toBe(true);
  39. demo.unmount();
  40. });
  41. it('test image & imageStyle', async () => {
  42. const imgUrl = 'abc';
  43. const props = {
  44. image: <div className="test-img">semi design</div>,
  45. imageStyle: { width: '150px' },
  46. };
  47. const demo = mount(
  48. <div>
  49. <Empty {...props}></Empty>
  50. <Empty {...props} image={imgUrl}></Empty>
  51. <Empty {...props} image={<IllustrationConstruction />} darkModeImage={<IllustrationConstructionDark />}></Empty>
  52. </div>
  53. );
  54. expect(demo.exists(`.semi-empty-image .test-img`)).toBe(true);
  55. expect(demo.find(`.semi-empty-image`).at(0)).toHaveStyle('width', '150px');
  56. expect(demo.find(`.semi-empty-image svg`).length > 0).toBe(true);
  57. demo.unmount();
  58. });
  59. });