VulpesOS/gaia/dev_apps/music-oga/test/marionette/music_test.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

104 lines
2.7 KiB
JavaScript
Executable file

/* global require, marionette, setup, suite, test, __dirname */
'use strict';
var assert = require('assert');
var Music = require('./lib/music.js');
var FakeActivityCaller = require('./lib/fakeactivitycaller.js');
marionette('Music ui tests', function() {
var apps = {};
apps[FakeActivityCaller.DEFAULT_ORIGIN] = __dirname + '/fakeactivitycaller';
var client = marionette.client({
profile: {
prefs: {
'device.storage.enabled': true,
'device.storage.testing': true,
'device.storage.prompt.testing': true
},
apps: apps
}
});
var music, system;
setup(function() {
music = new Music(client);
system = client.loader.getAppClass('system');
system.waitForFullyLoaded();
});
suite('Launch regular music with no audio files', function() {
setup(function() {
client.fileManager.removeAllFiles();
});
test('Overlay should be shown when storage has no songs', function() {
music.launch();
music.waitFinishedScanning();
music.waitForMessageOverlayShown(true);
});
});
suite('Launch regular music with one audio file', function() {
setup(function() {
client.fileManager.add([
{ type: 'music', filePath: 'test_media/samples/Music/b2g.ogg' }
]);
});
test('Overlay should be hidden when storage has some songs', function() {
music.launch();
music.waitFinishedScanning();
music.waitForMessageOverlayShown(false);
music.waitForFirstTile();
});
});
suite('Launch music picker with no audio files', function() {
var activitycaller;
setup(function() {
activitycaller = new FakeActivityCaller(client);
client.fileManager.removeAllFiles();
});
test('Overlay should be shown when storage has no songs', function() {
try {
activitycaller.launch();
activitycaller.tapPickButton();
activitycaller.selectMusicApp();
music.switchToMe();
music.waitFinishedScanning();
music.waitForMessageOverlayShown(true);
} catch (e) { assert.ok(false, e.stack); }
});
});
suite('Launch music picker with one audio file', function() {
var activitycaller;
setup(function() {
activitycaller = new FakeActivityCaller(client);
client.fileManager.add([
{ type: 'music', filePath: 'test_media/samples/Music/b2g.ogg' }
]);
});
test('Overlay should be hidden when storage has some songs', function() {
try {
activitycaller.launch();
activitycaller.tapPickButton();
activitycaller.selectMusicApp();
music.switchToMe();
music.waitFinishedScanning();
music.waitForMessageOverlayShown(false);
} catch (e) { assert.ok(false, e.stack); }
});
});
});