emmental/playlist/test_view.py

63 lines
2.2 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
import db
import unittest
from gi.repository import Gtk
from . import model
from . import sort
from . import view
class TestPlaylistView(unittest.TestCase):
def test_init(self):
collection = db.user.Table.find("Collection")
pview = view.PlaylistView()
self.assertIsInstance(pview, Gtk.ColumnView)
self.assertIsInstance(pview.get_model(), model.PlaylistSelection)
self.assertIsInstance(pview.get_filter_model(), Gtk.FilterListModel)
self.assertTrue(pview.has_css_class("data-table"))
self.assertTrue(pview.get_enable_rubberband())
self.assertTrue(pview.get_hexpand())
self.assertTrue(pview.get_vexpand())
self.assertIsNone(pview.get_playlist())
pview.set_playlist(collection)
self.assertEqual(pview.get_playlist(), collection)
class TestPlaylistWindow(unittest.TestCase):
def test_init(self):
collection = db.user.Table.find("Collection")
window = view.PlaylistWindow()
self.assertIsInstance(window, Gtk.ScrolledWindow)
self.assertIsInstance(window.get_child(), view.PlaylistView)
self.assertIsInstance(window.get_filter_model(), Gtk.FilterListModel)
self.assertIsNone(window.get_playlist())
window.set_playlist(collection)
self.assertEqual(window.get_playlist(), collection)
class TestSortOrderView(unittest.TestCase):
def test_init(self):
collection = db.user.Table.find("Collection")
sview = view.SortOrderView()
self.assertIsInstance(sview, Gtk.ListView)
self.assertIsInstance(sview.get_model(), Gtk.NoSelection)
self.assertIsInstance(sview.get_model().get_model(), model.FlatSortModel)
self.assertIsInstance(sview.get_factory(), sort.Factory)
sview.set_playlist(collection)
self.assertEqual(sview.get_model().get_model().get_enabled_model().playlist, collection)
class TestSortOrderPopover(unittest.TestCase):
def test_init(self):
pop = view.SortOrderPopover()
self.assertIsInstance(pop, Gtk.Popover)
self.assertIsInstance(pop.get_child(), view.SortOrderView)
pop.set_playlist(db.user.Table.find("Collection"))