UNPKG

video-ad-sdk

Version:

VAST/VPAID SDK that allows video ads to be played on top of any player

90 lines (82 loc) 1.93 kB
import { noAdParsedXML, vastNoAdXML, vastWrapperXML, wrapperParsedXML, wrapperAd, inlineAd, inlineParsedXML, podParsedXML, vastInlineXML, vastPodXML } from '../../../fixtures' import {ErrorCode} from '../../tracker' import {getFirstAd, isAdPod} from '..' const WRAPPER_TAG = 'http://adtag.test.example.com' const INLINE_TAG = 'https://test.example.com/vastadtaguri' test('isAdPod must return true if the passed vastChain has an adPod', () => { const adPodVastChain = [ { ad: inlineAd, parsedXML: inlineParsedXML, requestTag: INLINE_TAG, XML: vastInlineXML }, { ad: getFirstAd(wrapperParsedXML), parsedXML: podParsedXML, requestTag: WRAPPER_TAG, XML: vastPodXML } ] expect(isAdPod(adPodVastChain)).toBe(true) }) test('isAdPod must return false if the passed vasChain has no adPod', () => { const errorVastChain = [ { ad: undefined, error: expect.any(Error), errorCode: ErrorCode.VAST_UNEXPECTED_MEDIA_FILE, parsedXML: noAdParsedXML, requestTag: INLINE_TAG, XML: vastNoAdXML }, { ad: wrapperAd, parsedXML: wrapperParsedXML, requestTag: WRAPPER_TAG, XML: vastWrapperXML } ] const successVastChain = [ { ad: inlineAd, parsedXML: inlineParsedXML, requestTag: INLINE_TAG, XML: vastInlineXML }, { ad: wrapperAd, parsedXML: wrapperParsedXML, requestTag: WRAPPER_TAG, XML: vastWrapperXML } ] const nullVastChain = [ { ad: undefined, parsedXML: undefined, requestTag: INLINE_TAG, XML: '' }, { ad: wrapperAd, parsedXML: wrapperParsedXML, requestTag: WRAPPER_TAG, XML: vastWrapperXML } ] expect(isAdPod(nullVastChain)).toBe(false) expect(isAdPod(errorVastChain)).toBe(false) expect(isAdPod(successVastChain)).toBe(false) })