61 lines
2.4 KiB
Python
61 lines
2.4 KiB
Python
# Copyright 2021 (c) Anna Schumaker.
|
|
import db
|
|
import unittest
|
|
from gi.repository import Gtk
|
|
from . import model
|
|
from . import row
|
|
from . import view
|
|
|
|
class TestTableView(unittest.TestCase):
|
|
def test_init(self):
|
|
table = view.TableView(db.artist.Table)
|
|
self.assertIsInstance(table, Gtk.ListView)
|
|
self.assertIsInstance(table.get_model(), model.TableSelection)
|
|
self.assertEqual(table.get_table(), db.artist.Table)
|
|
|
|
self.assertEqual(table.get_factory(), row.Factory)
|
|
self.assertTrue(table.has_css_class("normal-icons"))
|
|
self.assertTrue(table.get_vexpand())
|
|
|
|
def test_selection(self):
|
|
artist = db.artist.Table.find("Test Artist", "Test Sort")
|
|
table = view.TableView(db.artist.Table)
|
|
self.assertEqual(table.get_selection(), table.get_model())
|
|
self.assertEqual(table.get_selected_playlist(), artist)
|
|
|
|
def test_factory(self):
|
|
table = view.TableView(db.user.Table)
|
|
self.assertEqual(table.get_factory(), row.UserFactory)
|
|
table = view.TableView(db.artist.Table)
|
|
self.assertEqual(table.get_factory(), row.Factory)
|
|
table = view.TableView(db.genre.Table)
|
|
self.assertEqual(table.get_factory(), row.Factory)
|
|
table = view.TableView(db.decade.Table)
|
|
self.assertEqual(table.get_factory(), row.Factory)
|
|
table = view.TableView(db.library.Table)
|
|
self.assertEqual(table.get_factory(), row.LibraryFactory)
|
|
|
|
|
|
class TestTableWindow(unittest.TestCase):
|
|
def test_init(self):
|
|
window = view.TableWindow(db.artist.Table)
|
|
self.assertIsInstance(window, Gtk.ScrolledWindow)
|
|
self.assertIsInstance(window.get_child(), view.TableView)
|
|
self.assertEqual(window.get_table(), db.artist.Table)
|
|
|
|
def test_selection(self):
|
|
artist = db.artist.Table.find("Test Artist", "Test Sort")
|
|
window = view.TableWindow(db.artist.Table)
|
|
self.assertEqual(window.get_selection(), window.get_child().get_selection())
|
|
self.assertEqual(window.get_selected_playlist(), artist)
|
|
|
|
|
|
class TestUserView(unittest.TestCase):
|
|
def test_init(self):
|
|
user = view.UserView()
|
|
self.assertIsInstance(user, Gtk.ListView)
|
|
self.assertIsInstance(user.get_model(), model.UserSelection)
|
|
self.assertIsInstance(user.get_factory(), row.UserRowFactory)
|
|
self.assertTrue(user.has_css_class("normal-icons"))
|
|
self.assertTrue(user.get_single_click_activate())
|