layout.test.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { Layout } from '../index';
  2. import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';
  3. describe('layout', () => {
  4. it('layout with custom className & style', () => {
  5. let props = {
  6. className: 'test',
  7. style: {
  8. color: 'red',
  9. },
  10. };
  11. let layout = mount(<Layout {...props} hasSider />);
  12. expect(layout.hasClass('test')).toEqual(true);
  13. expect(layout.find('section.test')).toHaveStyle('color', 'red');
  14. layout.unmount();
  15. let header = mount(<Layout.Header {...props} />);
  16. expect(header.hasClass('test')).toEqual(true);
  17. expect(header.find('header.test')).toHaveStyle('color', 'red');
  18. header.unmount();
  19. let sider = mount(<Layout.Sider {...props} />);
  20. expect(sider.hasClass('test')).toEqual(true);
  21. expect(sider.find('aside.test')).toHaveStyle('color', 'red');
  22. sider.unmount();
  23. let content = mount(<Layout.Content {...props} />);
  24. expect(content.hasClass('test')).toEqual(true);
  25. expect(content.find('main.test')).toHaveStyle('color', 'red');
  26. content.unmount();
  27. let footer = mount(<Layout.Footer {...props} />);
  28. expect(footer.hasClass('test')).toEqual(true);
  29. expect(footer.find('footer.test')).toHaveStyle('color', 'red');
  30. footer.unmount();
  31. });
  32. it('layout with sider', () => {
  33. const layout = mount(
  34. <Layout>
  35. <Layout.Sider />
  36. </Layout>
  37. );
  38. expect(layout.exists(`section.${BASE_CLASS_PREFIX}-layout-has-sider`)).toEqual(true);
  39. layout.unmount();
  40. });
  41. // Responsive breakpoints are not easy to handle in unit test, ignore
  42. // it('sider breakpoint', () => {
  43. // })
  44. });