video-ad-sdk
Version:
VAST/VPAID SDK that allows video ads to be played on top of any player
37 lines (30 loc) • 1.21 kB
text/typescript
import {canPlay} from '../canPlay'
test('canPlay must delegate on the video element to know if the mediaFile is supported', () => {
let supported = true
const mockVideoElement: any = {
canPlayType: jest.fn(() => supported)
}
const mediaFile = {
src: 'https://test.media.mp4',
type: 'video/mp4'
}
expect(canPlay(mockVideoElement, mediaFile)).toBe(true)
expect(mockVideoElement.canPlayType).toHaveBeenCalledTimes(1)
expect(mockVideoElement.canPlayType).toHaveBeenCalledWith(mediaFile.type)
supported = false
mockVideoElement.canPlayType.mockClear()
expect(canPlay(mockVideoElement, mediaFile)).toBe(false)
expect(mockVideoElement.canPlayType).toHaveBeenCalledTimes(1)
expect(mockVideoElement.canPlayType).toHaveBeenCalledWith(mediaFile.type)
})
test('canPlay try to guess the src type to check the video element support', () => {
const mockVideoElement: any = {
canPlayType: jest.fn(() => true)
}
const mediaFile = {
src: 'https://test.media.mp4'
}
expect(canPlay(mockVideoElement, mediaFile)).toBe(true)
expect(mockVideoElement.canPlayType).toHaveBeenCalledTimes(1)
expect(mockVideoElement.canPlayType).toHaveBeenCalledWith('video/mp4')
})