36 lines
1.5 KiB
JavaScript
36 lines
1.5 KiB
JavaScript
const test = require('tape')
|
|
const setup = require('./setup')
|
|
|
|
test('video-streaming', function (t) {
|
|
setup.resetTestDataDir()
|
|
|
|
t.timeoutAfter(30e3)
|
|
const app = setup.createApp()
|
|
setup.waitForLoad(app, t, { online: true })
|
|
.then(() => app.client.waitUntilTextExists('.torrent-list', 'Big Buck Bunny'))
|
|
// Play Big Buck Bunny. Wait for it to start streaming.
|
|
.then(() => app.client.moveToObject('.torrent'))
|
|
.then(() => setup.wait())
|
|
.then(() => app.client.click('.icon.play'))
|
|
.then(() => setup.wait(10e3))
|
|
// Pause. Skip to two seconds in. Wait another two seconds for it to load.
|
|
.then(() => app.webContents.executeJavaScript('dispatch("playPause")'))
|
|
.then(() => app.webContents.executeJavaScript('dispatch("skipTo", 2)'))
|
|
.then(() => setup.wait(5e3))
|
|
// Take a screenshot to verify video playback
|
|
.then(() => setup.screenshotCreateOrCompare(app, t, 'play-torrent-bbb'))
|
|
// Hit escape
|
|
.then(() => app.webContents.executeJavaScript('dispatch("escapeBack")'))
|
|
.then(() => setup.wait())
|
|
// Delete Big Buck Bunny
|
|
.then(() => app.client.moveToObject('.torrent'))
|
|
.then(() => setup.wait())
|
|
.then(() => app.client.click('.icon.delete'))
|
|
.then(() => setup.wait())
|
|
.then(() => app.client.click('.control.ok'))
|
|
// Take another screenshot to verify that the window resized correctly
|
|
.then(() => setup.screenshotCreateOrCompare(app, t, 'play-torrent-return'))
|
|
.then(() => setup.endTest(app, t),
|
|
(err) => setup.endTest(app, t, err || 'error'))
|
|
})
|