diff --git a/extensions/amp-redbull-player/0.1/test/test-amp-redbull.js b/extensions/amp-redbull-player/0.1/test/test-amp-redbull.js index ae23db3606c0..83962f581b15 100644 --- a/extensions/amp-redbull-player/0.1/test/test-amp-redbull.js +++ b/extensions/amp-redbull-player/0.1/test/test-amp-redbull.js @@ -48,25 +48,69 @@ describes.realWin( }); } - it('renders the Red Bull player', async () => { - const player = await getRedBullElement( - 'rrn:content:videos:3965a26c-052e-575f-a28b-ded6bee23ee1:en-INT' - ); - const playerIframe = player.querySelector('iframe'); - expect(playerIframe).to.not.be.null; - expect(playerIframe.src).to.equal( - 'https://player.redbull.com/amp/amp-iframe.html?videoId=' + - encodeURIComponent( - 'rrn:content:videos:3965a26c-052e-575f-a28b-ded6bee23ee1:en-INT' - ) + - '&skinId=com&TagId=rbvideo&locale=global' - ); + describe('rendering', async () => { + it('renders the Red Bull player', async () => { + const player = await getRedBullElement( + 'rrn:content:videos:3965a26c-052e-575f-a28b-ded6bee23ee1:en-INT' + ); + const playerIframe = player.querySelector('iframe'); + expect(playerIframe).to.not.be.null; + expect(playerIframe.src).to.equal( + 'https://player.redbull.com/amp/amp-iframe.html?videoId=' + + encodeURIComponent( + 'rrn:content:videos:3965a26c-052e-575f-a28b-ded6bee23ee1:en-INT' + ) + + '&skinId=com&TagId=rbvideo&locale=global' + ); + }); + + it('fails without videoId', () => { + return getRedBullElement(null).should.eventually.be.rejectedWith( + /The data-param-videoid attribute is required/ + ); + }); + + it('removes iframe after unlayoutCallback', async () => { + const player = await getRedBullElement( + 'rrn:content:videos:3965a26c-052e-575f-a28b-ded6bee23ee1:en-INT' + ); + const playerIframe = player.querySelector('iframe'); + expect(playerIframe).to.not.be.null; + + const impl = await player.getImpl(false); + impl.unlayoutCallback(); + expect(player.querySelector('iframe')).to.be.null; + expect(impl.iframe_).to.be.null; + }); }); + describe('methods', async () => { + let impl; + beforeEach(async () => { + const player = await getRedBullElement( + 'rrn:content:videos:3965a26c-052e-575f-a28b-ded6bee23ee1:en-INT' + ); + impl = await player.getImpl(false); + }); + + it('is interactive', () => { + expect(impl.isInteractive()).to.be.true; + }); + + it('supports platform', () => { + expect(impl.supportsPlatform()).to.be.true; + }); + + it('does not pre-implement MediaSession API', () => { + expect(impl.preimplementsMediaSessionAPI()).to.be.false; + }); + + it('does not pre-implement auto-fullscreen', () => { + expect(impl.preimplementsAutoFullscreen()).to.be.false; + }); - it('fails without videoId', () => { - return getRedBullElement(null).should.eventually.be.rejectedWith( - /The data-param-videoid attribute is required/ - ); + it('is not fullscreen', () => { + expect(impl.isFullscreen()).to.be.false; + }); }); } );