# 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"))