import React from 'react'; import { mount } from 'enzyme'; import expect, { spyOn, restoreSpies } from 'expect'; import Timer from './Timer'; describe('Timer - component', () => { afterEach(restoreSpies); it('play() and pause() function', () => { const timer = mount(); expect(timer.node.interval).toNotExist(); timer.setProps({ running: true }); expect(timer.node.interval).toExist(); timer.setProps({ running: false }); expect(timer.node.interval).toNotExist(); }); it('should reset after pause', () => { const timer = mount(); const spy = spyOn(timer.node, 'reset').andCallThrough(); timer.setProps({ running: true }); expect(spy).toHaveBeenCalled(); }); it('should not reset when stopped', () => { const timer = mount(); const spy = spyOn(timer.node, 'reset').andCallThrough(); timer.setProps({ running: false }); expect(spy).toNotHaveBeenCalled(); }); it('should not reset when it continues', () => { const timer = mount(); const spy = spyOn(timer.node, 'reset').andCallThrough(); timer.setProps({ running: true }); expect(spy).toNotHaveBeenCalled(); }); });