To mimic how curds.trak.lookup() works, only in the library path itself. We also take this time to delete the curds/trak directory as nothing there is used anymore. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
71 lines
2.5 KiB
Python
71 lines
2.5 KiB
Python
# Copyright 2019 (c) Anna Schumaker
|
|
from . import artist
|
|
from . import playlist
|
|
from .. import notify
|
|
from .. import tree
|
|
import os
|
|
import pathlib
|
|
import trackdb
|
|
import unittest
|
|
|
|
test_album = pathlib.Path("./trier/Test Library/Test Artist 01/Test Album 1")
|
|
|
|
class TestArtistPlaylist(unittest.TestCase):
|
|
def setUp(self):
|
|
notify.clear()
|
|
trackdb.reset()
|
|
self.lib = trackdb.add_path(test_album)
|
|
|
|
def test_artist_node(self):
|
|
anode = artist.ArtistNode()
|
|
self.assertIsInstance(anode, tree.ETree)
|
|
self.assertEqual(anode.name, "Artists")
|
|
self.assertEqual(anode.icon, "avatar-default-symbolic")
|
|
|
|
def test_artist_alloc_child(self):
|
|
anode = artist.ArtistNode()
|
|
plist = anode.alloc_child("Test Artist")
|
|
self.assertIsInstance(plist, artist.ArtistPlaylist)
|
|
self.assertEqual(plist.name, "Test Artist")
|
|
self.assertEqual(plist.icon, "avatar-default-symbolic")
|
|
self.assertEqual(plist.sort_order, [ "album", "discnumber", "tracknumber" ])
|
|
|
|
def test_artist_node_new_track(self):
|
|
anode = artist.ArtistNode()
|
|
self.assertEqual(anode.n_children(), 0)
|
|
|
|
track = self.lib.add_track("01 - Test Track 01.ogg")
|
|
self.assertEqual(anode.n_children(), 1)
|
|
plist = anode.nth_child(0)
|
|
self.assertEqual(plist.name, "Test Artist 01")
|
|
self.assertEqual(plist.icon, "avatar-default-symbolic")
|
|
self.assertEqual(plist[0], track)
|
|
|
|
def test_artist_node_reset(self):
|
|
anode = artist.ArtistNode()
|
|
anode.children.append(42)
|
|
trackdb.library.TrackAdded.unregister(anode.new_track)
|
|
|
|
anode.reset()
|
|
self.assertEqual(len(anode.children), 0)
|
|
self.assertIn(anode.new_track, trackdb.library.TrackAdded.subscribers)
|
|
|
|
def test_artist_playlist_alloc(self):
|
|
anode = artist.ArtistPlaylist("Test Playlist", artist.ARTIST_ICON)
|
|
album = anode.alloc_child("Test Album")
|
|
|
|
self.assertIsInstance(album, playlist.Playlist)
|
|
self.assertEqual(album.name, "Test Album")
|
|
self.assertEqual(album.icon, "media-optical-cd-audio")
|
|
self.assertEqual(album.sort_order, [ "discnumber", "tracknumber" ])
|
|
|
|
def test_artist_playlist_add(self):
|
|
anode = artist.ArtistNode()
|
|
track = self.lib.add_track("01 - Test Track 01.ogg")
|
|
plist = anode.nth_child(0)
|
|
|
|
self.assertEqual(plist.n_children(), 1)
|
|
album = plist.nth_child(0)
|
|
self.assertIsInstance(album, playlist.Playlist)
|
|
self.assertEqual(album.name, "Test Album 1")
|