sidebar: Add the Decade section to the sidebar
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
3ba46db064
commit
0de8089d59
|
@ -3,6 +3,7 @@
|
|||
from gi.repository import GObject
|
||||
from gi.repository import Gtk
|
||||
from . import artist
|
||||
from . import decade
|
||||
from . import genre
|
||||
from . import playlist
|
||||
from . import section
|
||||
|
@ -25,11 +26,13 @@ class Card(Gtk.Box):
|
|||
self._playlists = playlist.Section(self.sql.playlists)
|
||||
self._artists = artist.Section(self.sql.artists, self.sql.albums)
|
||||
self._genres = genre.Section(self.sql.genres)
|
||||
self._decades = decade.Section(self.sql.decades, self.sql.years)
|
||||
self._group = section.Group(sql)
|
||||
|
||||
self.append(self._filter)
|
||||
|
||||
for sect in [self._playlists, self._artists, self._genres]:
|
||||
for sect in [self._playlists, self._artists, self._genres,
|
||||
self._decades]:
|
||||
self.append(sect)
|
||||
self._group.add(sect)
|
||||
|
||||
|
@ -64,6 +67,8 @@ class Card(Gtk.Box):
|
|||
section = self._artists
|
||||
case self.sql.genres:
|
||||
section = self._genres
|
||||
case self.sql.decades | self.sql.years:
|
||||
section = self._decades
|
||||
|
||||
section.active = True
|
||||
section.select_playlist(playlist)
|
||||
|
|
|
@ -81,7 +81,8 @@ class TestSidebar(tests.util.TestCase):
|
|||
self.assertListEqual(self.sidebar._group._sections,
|
||||
[self.sidebar._playlists,
|
||||
self.sidebar._artists,
|
||||
self.sidebar._genres])
|
||||
self.sidebar._genres,
|
||||
self.sidebar._decades])
|
||||
|
||||
def test_sections(self):
|
||||
"""Tests sidebar section models."""
|
||||
|
@ -91,6 +92,8 @@ class TestSidebar(tests.util.TestCase):
|
|||
emmental.sidebar.artist.Section)
|
||||
self.assertIsInstance(self.sidebar._genres,
|
||||
emmental.sidebar.genre.Section)
|
||||
self.assertIsInstance(self.sidebar._decades,
|
||||
emmental.sidebar.decade.Section)
|
||||
|
||||
self.assertEqual(self.sidebar._filter.get_next_sibling(),
|
||||
self.sidebar._playlists)
|
||||
|
@ -98,11 +101,15 @@ class TestSidebar(tests.util.TestCase):
|
|||
self.sidebar._artists)
|
||||
self.assertEqual(self.sidebar._artists.get_next_sibling(),
|
||||
self.sidebar._genres)
|
||||
self.assertEqual(self.sidebar._genres.get_next_sibling(),
|
||||
self.sidebar._decades)
|
||||
|
||||
self.assertEqual(self.sidebar._playlists.table, self.sql.playlists)
|
||||
self.assertEqual(self.sidebar._artists.table, self.sql.artists)
|
||||
self.assertEqual(self.sidebar._artists.album_table, self.sql.albums)
|
||||
self.assertEqual(self.sidebar._genres.table, self.sql.genres)
|
||||
self.assertEqual(self.sidebar._decades.table, self.sql.decades)
|
||||
self.assertEqual(self.sidebar._decades.year_table, self.sql.years)
|
||||
|
||||
def test_select_playlist(self):
|
||||
"""Test setting the active playlist."""
|
||||
|
@ -128,3 +135,15 @@ class TestSidebar(tests.util.TestCase):
|
|||
self.sidebar.select_playlist(genre)
|
||||
self.assertTrue(self.sidebar._genres.active)
|
||||
self.assertEqual(self.sidebar.selected_playlist, genre)
|
||||
|
||||
decade = self.sql.decades.create(1990)
|
||||
year = self.sql.years.create(1990)
|
||||
|
||||
self.sidebar._decades.select_playlist = unittest.mock.Mock()
|
||||
for plist in [decade, year]:
|
||||
self.sidebar._decades.select_playlist.reset_mock()
|
||||
self.sidebar._decades.active = False
|
||||
|
||||
self.sidebar.select_playlist(plist)
|
||||
self.assertTrue(self.sidebar._decades.active)
|
||||
self.sidebar._decades.select_playlist.assert_called_with(plist)
|
||||
|
|
Loading…
Reference in New Issue