local: Trigger playlists_loaded() event on playlist load/refresh

This commit is contained in:
Stein Magnus Jodal 2012-11-17 17:09:27 +01:00
parent 5368c5fade
commit 5efce8ac76
3 changed files with 33 additions and 1 deletions

View File

@ -6,7 +6,7 @@ import os
import shutil
from mopidy import settings
from mopidy.backends import base
from mopidy.backends import base, listener
from mopidy.models import Playlist
from mopidy.utils import formatting, path
@ -63,6 +63,7 @@ class LocalPlaylistsProvider(base.BasePlaylistsProvider):
playlists.append(playlist)
self.playlists = playlists
listener.BackendListener.send('playlists_loaded')
def save(self, playlist):
assert playlist.uri, 'Cannot save playlist without URI'

View File

@ -0,0 +1,23 @@
from __future__ import unicode_literals
import mock
import pykka
from mopidy import core, audio
from mopidy.backends import listener
@mock.patch.object(listener.BackendListener, 'send')
class BackendEventsTest(object):
def setUp(self):
self.audio = mock.Mock(spec=audio.Audio)
self.backend = self.backend_class.start(audio=audio).proxy()
self.core = core.Core.start(backends=[self.backend]).proxy()
def tearDown(self):
pykka.ActorRegistry.stop_all()
def test_playlists_refresh_sends_playlists_loaded_event(self, send):
send.reset_mock()
self.core.playlists.refresh().get()
self.assertEqual(send.call_args[0][0], 'playlists_loaded')

View File

@ -0,0 +1,8 @@
from mopidy.backends.local import LocalBackend
from tests import unittest
from tests.backends.base import events
class LocalBackendEventsTest(events.BackendEventsTest, unittest.TestCase):
backend_class = LocalBackend