import React from 'react';
import { shallow } from 'enzyme';
import Spin from '..';
import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';
import { sleep } from '../../_test_/utils';
describe('Spin', () => {
it('should be controlled by spinning', () => {
const wrapper = shallow();
expect(
wrapper
.find(`.${BASE_CLASS_PREFIX}-spin`)
.hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
).toEqual(true);
wrapper.setProps({ spinning: true });
expect(
wrapper
.find(`.${BASE_CLASS_PREFIX}-spin`)
.hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
).toEqual(false);
});
it('test delay', async () => {
const wrapper = shallow();
expect(
wrapper
.find(`.${BASE_CLASS_PREFIX}-spin`)
.hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
).toEqual(true);
wrapper.setProps({ spinning: true });
wrapper.update()
expect(
wrapper
.find(`.${BASE_CLASS_PREFIX}-spin`)
.hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
).toEqual(true);
await sleep(1000);
expect(
wrapper
.find(`.${BASE_CLASS_PREFIX}-spin`)
.hasClass(`${BASE_CLASS_PREFIX}-spin-hidden`)
).toEqual(false);
});
});