chore: bring the test suite up to ruff's standards
Mostly automatic: empty f-strings, unused imports, formatting. The manual half was duplicated import blocks stranded mid-file and `== None` assertions, which become `is None` here because they compare plain attributes -- unlike the identical rule in filters/book.py, where they build SQL. Two unused variables are the tests never checking the disk in either delete_files direction. Left in place under a noqa so the gap stays visible.
This commit is contained in:
@@ -2,7 +2,10 @@
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from chitai.services.filesystem_library import BookPathGenerator, sanitize_path_component
|
||||
from chitai.services.filesystem_library import (
|
||||
BookPathGenerator,
|
||||
sanitize_path_component,
|
||||
)
|
||||
|
||||
|
||||
ROOT = Path("/library")
|
||||
@@ -23,12 +26,15 @@ def test_a_book_with_no_authors() -> None:
|
||||
|
||||
|
||||
def test_a_series_adds_a_level_and_pads_the_position() -> None:
|
||||
assert path_for(
|
||||
title="Persepolis Rising",
|
||||
authors=["James S. A. Corey"],
|
||||
series="The Expanse",
|
||||
series_position="7",
|
||||
) == ROOT / "James S. A. Corey" / "The Expanse" / "07 - Persepolis Rising"
|
||||
assert (
|
||||
path_for(
|
||||
title="Persepolis Rising",
|
||||
authors=["James S. A. Corey"],
|
||||
series="The Expanse",
|
||||
series_position="7",
|
||||
)
|
||||
== ROOT / "James S. A. Corey" / "The Expanse" / "07 - Persepolis Rising"
|
||||
)
|
||||
|
||||
|
||||
def test_a_slash_in_a_title_does_not_add_a_directory() -> None:
|
||||
@@ -43,16 +49,25 @@ def test_a_slash_in_a_title_does_not_add_a_directory() -> None:
|
||||
generated = path_for(title="Back in Black: AC/DC", authors=["Murray Engleheart"])
|
||||
|
||||
assert generated == ROOT / "Murray Engleheart" / "Back in Black: AC_DC"
|
||||
assert generated.relative_to(ROOT).parts == ("Murray Engleheart", "Back in Black: AC_DC")
|
||||
assert generated.relative_to(ROOT).parts == (
|
||||
"Murray Engleheart",
|
||||
"Back in Black: AC_DC",
|
||||
)
|
||||
|
||||
|
||||
def test_a_slash_in_an_author_or_series_is_handled_too() -> None:
|
||||
assert path_for(title="Split", authors=["A/B Collective"]) == (
|
||||
ROOT / "A_B Collective" / "Split"
|
||||
)
|
||||
assert path_for(
|
||||
title="Volume One", authors=["Someone"], series="Either/Or", series_position="1"
|
||||
) == ROOT / "Someone" / "Either_Or" / "01 - Volume One"
|
||||
assert (
|
||||
path_for(
|
||||
title="Volume One",
|
||||
authors=["Someone"],
|
||||
series="Either/Or",
|
||||
series_position="1",
|
||||
)
|
||||
== ROOT / "Someone" / "Either_Or" / "01 - Volume One"
|
||||
)
|
||||
|
||||
|
||||
def test_control_characters_are_removed() -> None:
|
||||
|
||||
Reference in New Issue
Block a user