autotag: add a test for overwrite_null configuration

This commit is contained in:
Šarūnas Nejus 2025-11-15 14:30:00 +00:00
parent 02f3cb7821
commit 26da02284b
No known key found for this signature in database

View file

@ -444,6 +444,38 @@ class ApplyCompilationTest(BeetsTestCase, ApplyTestUtil):
assert self.items[1].comp
@pytest.mark.parametrize(
"overwrite_fields,expected_item_artist",
[
pytest.param(["artist"], "", id="overwrite artist"),
pytest.param([], "artist", id="do not overwrite artist"),
],
)
class TestOverwriteNull(ConfigMixin):
@pytest.fixture(autouse=True)
def _setup_config(self, overwrite_fields):
self.config["overwrite_null"]["album"] = overwrite_fields
self.config["overwrite_null"]["track"] = overwrite_fields
@pytest.fixture
def item(self):
return Item(artist="artist")
@pytest.fixture
def track_info(self):
return TrackInfo(artist=None)
def test_album(self, item, track_info, expected_item_artist):
autotag.apply_metadata(AlbumInfo([track_info]), [(item, track_info)])
assert item.artist == expected_item_artist
def test_singleton(self, item, track_info, expected_item_artist):
autotag.apply_item_metadata(item, track_info)
assert item.artist == expected_item_artist
@pytest.mark.parametrize(
"single_field,list_field",
[