# Copyright 2021 (c) Anna Schumaker. import datetime import db import pathlib import scanner import unittest test_album = pathlib.Path("./data/Test Album") test_track = test_album / "01 - Test Track.ogg" class TestScanner(unittest.TestCase): def tearDown(self): scanner.Queue.tasks_finished() def test_init(self): self.assertIsInstance(scanner.Queue, scanner.queue.TaskQueue) def test_update_library(self): lib = db.library.Table.find(test_album) scanner.update_library(lib) self.assertIsInstance(scanner.Queue.tasks[0], scanner.task.CheckSchedulerTask) self.assertIsInstance(scanner.Queue.tasks[1], scanner.task.DirectoryTask) def test_remove_library(self): lib = db.library.Table.find(test_album) scanner.remove_library(lib) self.assertIsInstance(scanner.Queue.tasks[0], scanner.task.RemoveLibrarySchedulerTask) def test_commit(self): scanner.commit() self.assertIsInstance(scanner.Queue.tasks[0], scanner.task.CommitTask) def test_widgets(self): lib = db.library.Table.find(test_album) self.assertIsInstance(scanner.ProgressBar(), scanner.widgets.ProgressBar) self.assertIsInstance(scanner.AddFolderButton(), scanner.widgets.AddFolderButton) self.assertIsInstance(scanner.UpdateButton(lib), scanner.widgets.UpdateButton) self.assertIsInstance(scanner.UpdateAllButton(), scanner.widgets.UpdateAllButton) self.assertIsInstance(scanner.RemoveButton(lib), scanner.widgets.RemoveButton) self.assertIsInstance(scanner.EnableSwitch(lib), scanner.widgets.EnableSwitch)