spin.test.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import React from 'react';
  2. import { shallow } from 'enzyme';
  3. import Spin from '..';
  4. import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';
  5. import { sleep } from '../../_test_/utils';
  6. describe('Spin', () => {
  7. it('should be controlled by spinning', () => {
  8. const wrapper = shallow(<Spin spinning={false} />);
  9. expect(
  10. wrapper
  11. .find(`.${BASE_CLASS_PREFIX}-spin`)
  12. .hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
  13. ).toEqual(true);
  14. wrapper.setProps({ spinning: true });
  15. expect(
  16. wrapper
  17. .find(`.${BASE_CLASS_PREFIX}-spin`)
  18. .hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
  19. ).toEqual(false);
  20. });
  21. it('test delay', async () => {
  22. const wrapper = shallow(<Spin delay={1000} spinning={false} />);
  23. expect(
  24. wrapper
  25. .find(`.${BASE_CLASS_PREFIX}-spin`)
  26. .hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
  27. ).toEqual(true);
  28. wrapper.setProps({ spinning: true });
  29. wrapper.update()
  30. expect(
  31. wrapper
  32. .find(`.${BASE_CLASS_PREFIX}-spin`)
  33. .hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
  34. ).toEqual(true);
  35. await sleep(1000);
  36. expect(
  37. wrapper
  38. .find(`.${BASE_CLASS_PREFIX}-spin`)
  39. .hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
  40. ).toEqual(false);
  41. });
  42. });