all files / src/events/__tests__/ silenceEvent.spec.js

100% Statements 25/25
100% Branches 4/4
100% Functions 5/5
100% Lines 18/18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35                                   
import expect, {createSpy} from 'expect'
import noop from 'lodash.noop'
import silenceEvent from '../silenceEvent'
 
describe('silenceEvent', () => {
  it('should return false if not an event', () => {
    expect(silenceEvent(undefined)).toBe(false)
    expect(silenceEvent(null)).toBe(false)
    expect(silenceEvent(true)).toBe(false)
    expect(silenceEvent(42)).toBe(false)
    expect(silenceEvent({})).toBe(false)
    expect(silenceEvent([])).toBe(false)
    expect(silenceEvent(noop)).toBe(false)
  })
 
  it('should return true if an event', () => {
    expect(silenceEvent({
      preventDefault: noop,
      stopPropagation: noop
    })).toBe(true)
  })
 
  it('should call preventDefault and stopPropagation', () => {
    const preventDefault = createSpy()
    const stopPropagation = createSpy()
 
    silenceEvent({
      preventDefault,
      stopPropagation
    })
    expect(preventDefault).toHaveBeenCalled()
    expect(stopPropagation).toNotHaveBeenCalled()
  })
})