Commit Graph

791 Commits

Author SHA1 Message Date
Šarūnas Nejus
3e9ea8ebe8 Refactor template evaluation to handle format strings ONLY
- Handle formats as strings ONLY and evaluate them through a shared
  cached template helper.
- This removes the need for conditional logic that acts on Template
  objects or strings.
2026-07-03 09:56:39 +01:00
Šarūnas Nejus
aef9c64cb0 Move DummyIMBackend to fixtures 2026-06-30 21:48:40 +01:00
Šarūnas Nejus
900543baca Move test modules under folders that they belong to 2026-06-30 21:48:40 +01:00
Sebastian Mohr
54a2bd20e1 Removed This file is part of beets... headers. 2026-06-29 11:20:15 +02:00
Alok Saboo
a0f092ff14 fix test_parse_artwork_url placement into TestStaticHelpers class 2026-06-24 14:10:11 -04:00
Alok Saboo
01b12dca3b rename CoverArt types to Artwork to match Tidal API 2026-06-24 14:10:11 -04:00
Alok Saboo
26d90bbcfa make cover_art_by_id required and remove broken fallback URL 2026-06-24 14:10:10 -04:00
Alok Saboo
d26cfdedbc fix cover art types and parsing to match API response 2026-06-24 14:03:58 -04:00
Alok Saboo
659ee7df0b add cover art support 2026-06-24 14:03:56 -04:00
Šarūnas Nejus
8fe9c2e576 Set albumtypes instead of albumtype 2026-06-24 16:44:10 +01:00
Šarūnas Nejus
368d2c0a6d Normalize albumtype 2026-06-24 16:44:10 +01:00
Šarūnas Nejus
fca1aafdd0 Remove misplaced implementation test
Two issues with this one:
1. It tests implementation.
2. It was part of `TidalPluginTest` base class, so it ran multiple times
   in every class that used this mixin:

   $ pytest -vv test/plugins/test_tidal.py | grep flex_field_types
   test/plugins/test_tidal.py::TidalPluginTest::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestAlbumParsing::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestTrackParsing::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestTrackForID::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestTracksForIDs::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestAlbumForID::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestAlbumsForIDs::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestCandidates::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestItemCandidates::test_flex_field_types_are_scoped_correctly PASSED
   test/plugins/test_tidal.py::TestTidalsync::test_flex_field_types_are_scoped_correctly PASSED
2026-06-24 16:44:10 +01:00
Šarūnas Nejus
499e8dc8cb Use a single data-driven test for parsing 2026-06-24 16:44:10 +01:00
Sebastian Cao
755ca6f139 convert: skip missing album art instead of crashing 2026-06-24 16:45:23 +08:00
Šarūnas Nejus
faad463521 Merge branch 'master' into rest-directory-config 2026-06-23 10:02:32 +01:00
Pieter Lenaerts
ec4286d4cf Merge remote-tracking branch 'upstream/master' 2026-06-23 06:59:28 +02:00
Blake Hakkila
9e693fbfa4 Removed no output test and simplified assert logic 2026-06-22 12:18:55 -07:00
Blake Hakkila
ecad4811c6 Merge branch 'master' into rest-directory-config 2026-06-20 17:20:18 -07:00
Blake Hakkila
dc07242840 Simplified tests by removing path variations, kept edge case test for user home path in config 2026-06-20 17:18:54 -07:00
Sebastian Mohr
579c79b1ab Removed plugin: prefix from logging specific tests. 2026-06-20 13:28:47 +02:00
Blake Hakkila
a7aeb6db92 Fixed tests to remove confuse testing and add mock for RestFiles 2026-06-19 15:42:10 -07:00
Blake Hakkila
05ecfc8bc6 Merge branch 'master' into rest-directory-config 2026-06-19 15:18:28 -07:00
Alok Saboo
4e60f86dae Merge branch 'master' into tidal 2026-06-19 09:42:54 -04:00
Trey Turner
c1de81d59c fix(ftintitle): parenthetical features 2026-06-18 19:47:43 -05:00
Blake Hakkila
6080faf5dc Merge branch 'master' into rest-directory-config 2026-06-17 16:07:18 -07:00
Alok Saboo
027f688007 Merge branch 'master' into tidal 2026-06-17 14:06:35 -04:00
Šarūnas Nejus
f3550d3c96 Remove some unused test defs 2026-06-17 18:56:27 +01:00
Šarūnas Nejus
132cd55e21 Remove unused plugin test helpers
- Dropped unused MusicBrainZ and Subsonic test helpers and imports.
- Keeps plugin test modules focused on the behavior they still exercise.
2026-06-17 18:56:27 +01:00
Šarūnas Nejus
00501d3d7a Define class_helper, module_helper, session_helper fixtures 2026-06-17 18:56:27 +01:00
Šarūnas Nejus
931a9b6345 Tidy up existing helper fixtures 2026-06-17 18:56:27 +01:00
Šarūnas Nejus
2c2530dcfd Refactor plugin import test setup
- Replace duplicate pytest import helper fixtures with PluginMixin-based setup
  helpers.
- Keep plugin import tests aligned with shared beets setup behavior.
2026-06-17 18:56:27 +01:00
Šarūnas Nejus
1d9ff50608 Refactor plugin tests to use shared helpers
- Replace local setup fixtures with existing test helper base classes to reduce
  duplicated test setup.
2026-06-17 18:56:27 +01:00
Alok Saboo
904839106c address reviewer comments 2026-06-17 11:47:01 -04:00
Alok Saboo
d855dbf55b lint issues 2026-06-17 10:31:24 -04:00
Alok Saboo
dcd54146d8 address reviewer comments 2026-06-17 09:45:02 -04:00
Blake Hakkila
478ac8cb63 lyrics: add rest_directory configuration option 2026-06-15 22:48:00 -07:00
Alok Saboo
ab2a9ced63 Apply ruff formatting 2026-06-15 17:24:01 -04:00
Alok Saboo
5904dc280a Fix id_field, update tests, fix flake8 2026-06-15 17:08:34 -04:00
Alok Saboo
4cd996cc0e apply ruff formatting 2026-06-15 13:18:15 -04:00
Alok Saboo
4a0b2beeef address reviewer comments: simplify _parse_popularity, fix flake8 E501 2026-06-15 13:00:59 -04:00
Alok Saboo
a6bf76b232 address reviewer comments: type _parse_popularity with attributes, add album popularity to sync 2026-06-15 11:38:12 -04:00
Alok Saboo
2f434b2b93 address reviewer comments 2026-06-15 09:45:35 -04:00
Alok Saboo
bed1f024b0 Fix tests and mypy error
- Use self.add_item() instead of self.lib.add_item() in tests
- Fix mypy: add isinstance(val, int) check in _popularity()
- Apply ruff formatting
2026-06-14 16:36:19 -04:00
Alok Saboo
71d09893ef fix tests 2026-06-14 15:59:25 -04:00
Alok Saboo
98681406af tidal: add flexattrs and tidalsync command
- Add item_types ClassVar with tidal_track_id, tidal_album_id,
  tidal_artist_id, tidal_track_popularity, tidal_alb_popularity,
  tidal_updated fields
- Populate flexattrs during album/track import via AlbumInfo/TrackInfo
  kwargs
- Add beet tidalsync command to refresh popularity data post-import
- Add tidal fields to REIMPORT_FRESH_FIELDS_ITEM for reimport support
- Add tests for flexattr population and tidalsync behavior
- Update tidal plugin docs with attribute reference and tidalsync usage
2026-06-14 13:44:16 -04:00
Šarūnas Nejus
3b9034e8cf Only skip tests not in CI 2026-06-13 01:46:44 +01:00
Šarūnas Nejus
912ab791d9 Exclude tests that depend on ffprobe when unavailable 2026-06-13 01:46:44 +01:00
Šarūnas Nejus
4f3ac5a40a Exclude artresizer tests when unavailable 2026-06-13 01:46:44 +01:00
Šarūnas Nejus
949f987368 Exclude chroma tests when unimportable 2026-06-13 01:46:44 +01:00
Sebastian Mohr
7636022cb2 scrub: ImportTestCase -> ImporterHelper 2026-06-11 10:39:14 +02:00