More query tests and remove Optional from Filter

This commit is contained in:
Keith Edmunds 2025-03-05 14:27:19 +00:00
parent 7fd655f96f
commit 1cf75a5d42
2 changed files with 30 additions and 1 deletions

View File

@ -82,7 +82,7 @@ class FileErrors(NamedTuple):
class Filter:
version: int = 1
path_type: str = "contains"
path: Optional[str] = None
path: str = ""
last_played_number: int = 0
last_played_comparator: str = "before"
last_played_unit: str = "years"

View File

@ -99,3 +99,32 @@ class MyTestCase(unittest.TestCase):
results = Tracks.get_filtered_tracks(session, filter)
assert len(results) == 1
assert 'zulu' in results[0].path
def test_played_over_two_years_ago(self):
"""Search for tracks played over 2 years ago"""
filter = Filter(last_played_unit="years", last_played_number=2)
with db.Session() as session:
results = Tracks.get_filtered_tracks(session, filter)
assert len(results) == 0
def test_never_played(self):
"""Search for tracks never played"""
filter = Filter(last_played_comparator="never")
with db.Session() as session:
results = Tracks.get_filtered_tracks(session, filter)
assert len(results) == 1
assert 'alpha' in results[0].path
def test_played_anytime(self):
"""Search for tracks played over a year ago"""
filter = Filter(last_played_comparator="Any time")
with db.Session() as session:
results = Tracks.get_filtered_tracks(session, filter)
assert len(results) == 1
assert 'zulu' in results[0].path