Integration test: mock cast, remove loading bar
This lets us use exact screenshots with no transparency.
This commit is contained in:
@@ -33,6 +33,15 @@ function init (appState, callback) {
|
||||
state = appState
|
||||
update = callback
|
||||
|
||||
// Don't actually cast during integration tests
|
||||
// (Otherwise you'd need a physical Chromecast + AppleTV + DLNA TV to run them.)
|
||||
if (config.IS_TEST) {
|
||||
state.devices.chromecast = testPlayer('chromecast')
|
||||
state.devices.airplay = testPlayer('airplay')
|
||||
state.devices.dlna = testPlayer('dlna')
|
||||
return
|
||||
}
|
||||
|
||||
// Load modules, scan the network for devices
|
||||
airplayer = require('airplayer')()
|
||||
chromecasts = require('chromecasts')()
|
||||
@@ -58,6 +67,32 @@ function init (appState, callback) {
|
||||
})
|
||||
}
|
||||
|
||||
// integration test player implementation
|
||||
function testPlayer (type) {
|
||||
return {
|
||||
getDevices,
|
||||
open,
|
||||
play,
|
||||
pause,
|
||||
stop,
|
||||
status,
|
||||
seek,
|
||||
volume
|
||||
}
|
||||
|
||||
function getDevices () {
|
||||
return [{name: type + '-1'}, {name: type + '-2'}]
|
||||
}
|
||||
|
||||
function open () {}
|
||||
function play () {}
|
||||
function pause () {}
|
||||
function stop () {}
|
||||
function status () {}
|
||||
function seek () {}
|
||||
function volume () {}
|
||||
}
|
||||
|
||||
// chromecast player implementation
|
||||
function chromecastPlayer () {
|
||||
const ret = {
|
||||
|
||||
Reference in New Issue
Block a user