import transition from '../../web'; describe('transition', () => { let transitionendEvent; beforeEach(() => { transitionendEvent = document.createEvent('HTMLEvents'); transitionendEvent.initEvent('transitionend', false, true); }); it('can trigger callback', (done) => { const mockFn = jest.fn(() => { done(); }); transition(document.body, { transform: 'translate(10px, 20px) scale(1.5, 1.5) rotate(90deg)' }, { timingFunction: 'ease', duration: 1000, delay: 1000 }, mockFn); document.body.dispatchEvent(transitionendEvent); expect(mockFn).toBeCalled(); }); it('callback as the third parameter when option is function', () => { const mockFn = jest.fn(); transition(document.body, { transform: 'translate(10px, 20px) scale(1.5, 1.5) rotate(90deg)' }, mockFn); document.body.dispatchEvent(transitionendEvent); expect(mockFn).toBeCalled(); }); });