Commit Graph

109 Commits

Author SHA1 Message Date
Claudio Ortolina 513ce6363f Rename RecordsFixtures -> Fixtures.Records 2025-02-17 16:08:19 +00:00
Claudio Ortolina ea7b5b646a Namespace MusicBrainz fixtures 2025-02-17 16:03:23 +00:00
Claudio Ortolina d27f3ccf72 Namespace Last.Fm fixtures 2025-02-17 15:52:54 +00:00
Claudio Ortolina 522f80194d Remove visible camera status text 2025-02-15 18:08:30 +00:00
Claudio Ortolina d077f08afa Start making it more robust
- Use structured data for search/render
- Start testing component
- Start testing domain logic
2025-02-15 18:08:30 +00:00
Claudio Ortolina 6ad28f1271 When importing a record, stream all its releases 2025-02-05 15:31:08 +00:00
Claudio Ortolina f29dd1f0ab Fetch 100 releases when importing a record
The release group contains only 25 releases, which breaks tracking
scrobble status. Albums like "Toto IV" or "Hounds of Love" end up
looking like they're not part of the collections because the individual
releases are not stored.

Still error prone, because this change doesn't paginate to more than 100
records, but that will be addressed in a future commit.
2025-02-05 10:12:27 +00:00
Claudio Ortolina acd52978ae Revise naming and notification around purchasing records 2025-02-04 12:11:16 +00:00
Claudio Ortolina f21729ac00 Cache covers for 1 year 2025-01-31 07:43:06 +00:00
Claudio Ortolina 9e1f00c9a8 Refactor type/format labels to enable translations 2025-01-29 11:04:19 +00:00
Claudio Ortolina 7ce2b6a7b2 Add wishlist#show test 2025-01-27 23:33:11 +00:00
Claudio Ortolina f5e29f9e59 Improve collection#show test 2025-01-27 23:31:34 +00:00
Claudio Ortolina 97eb01f6a6 Show record ID on wishlist and collection detail pages 2025-01-27 23:29:01 +00:00
Claudio Ortolina 542702e351 Improve header titles in editing overlay 2025-01-24 14:50:21 +00:00
Claudio Ortolina 3c8b39237c Fix return type of artist_get_info fixture 2025-01-24 10:35:39 +00:00
Claudio Ortolina 53d82e661a Extract LiveTestHelpers.escape/1 2025-01-19 16:14:59 +00:00
Claudio Ortolina 8e956577b4 Use css attr selector to test for cover images 2025-01-07 15:57:14 +00:00
Claudio Ortolina ed6ef2c7ef Rename record_fixture* to record* 2025-01-06 14:20:36 +00:00
Claudio Ortolina 9428828064 Consolidate datetime as date formatting 2025-01-05 15:48:56 +00:00
Claudio Ortolina 75154df3cf Import only necessary functions from LiveViewTest
So that we don't clash with the imports of PhoenixTest
2025-01-05 15:40:21 +00:00
Claudio Ortolina 04f5c6e5a1 Rewrite LV tests using PhoenixTest 2025-01-05 11:29:33 +00:00
Claudio Ortolina 229445ffc9 Add missing logged_out tag 2025-01-05 11:28:45 +00:00
Claudio Ortolina 65899b8077 Add tests for /api/collection/random endpoint 2025-01-01 20:57:01 +00:00
Claudio Ortolina 8bd7197d18 Show purchase date in collection view 2025-01-01 16:45:43 +00:00
Claudio Ortolina 97533416f7 Support arbitrary resizing in cover controller 2024-12-31 11:58:30 +00:00
Claudio Ortolina 68b2d48228 Return thumb_url in latest record response 2024-12-31 11:39:36 +00:00
Claudio Ortolina 05f4d6039b Mock artist info fetch to avoid test flakyness 2024-12-29 21:23:04 +00:00
Claudio Ortolina 1a0e505e51 Rework error messages for failed playcount/bio fetch 2024-12-27 17:57:36 +00:00
Claudio Ortolina 97f26e0cd2 Serve covers under API namespace as well 2024-12-22 22:15:24 +00:00
Claudio Ortolina f1af38606a Protect API behind a bearer token 2024-12-22 18:32:04 +00:00
Claudio Ortolina cf3761ca79 Fold RequireLogin plug into Auth module 2024-12-22 16:12:31 +00:00
Claudio Ortolina 341d276db5 Include artists and cover in latest record JSON 2024-12-22 15:55:41 +00:00
Claudio Ortolina 53e8d88b6a Rename auth_password -> login_password 2024-12-21 14:57:44 +00:00
Claudio Ortolina 4f456322fc Bootstrap the /api namespace 2024-12-21 14:38:39 +00:00
Claudio Ortolina 019d2fb7f2 Reduce size of test data in stats test
Test is equally effective and a few times faster.
2024-12-15 18:57:48 +03:00
Claudio Ortolina e4fe4e7f4b Cache images for 24 hours 2024-12-15 12:09:29 +03:00
Claudio Ortolina 6660d195e4 Decrease visible records per page
After months of usage, I rarely paginate the list, so it's not necessary
to load 100 at a time. 20 is enough.

By matching 20 records with a 20 pool size, we should keep the repo
queue time to a minimum.
2024-12-15 11:15:46 +03:00
Claudio Ortolina 3fbd6ba1bf Use release and release group fixtures with names everywhere 2024-12-14 23:52:09 +03:00
Claudio Ortolina 4ede4e3736 Add test for importing a record from scrobble activity 2024-12-14 23:41:39 +03:00
Claudio Ortolina 2fbe9db016 Refactor test to extract data dependencies 2024-12-14 17:16:55 +03:00
Claudio Ortolina f7045a9f14 Extend testing of artist page 2024-12-13 22:25:06 +03:00
Claudio Ortolina 8350ffd3a4 To get artist info, try mbid and then artist name 2024-12-04 21:07:56 +00:00
Claudio Ortolina e1dc2bfc7f Make MusicBrainz user agent configurable 2024-12-04 10:44:31 +00:00
Claudio Ortolina bef38967a1 Stub artist show test 2024-12-03 20:16:35 +00:00
Claudio Ortolina ccefc6e697 Update to new interpolation syntax
Includes a fix to a brittle test that failed due to changes in the
number of linebreaks.
2024-12-03 00:08:32 +00:00
Claudio Ortolina 963b3c826f Extract Records.Artist 2024-12-02 10:55:12 +00:00
Claudio Ortolina 228b4bc440 Use musicbrainz_id as a key for embedded artists 2024-12-02 09:23:13 +00:00
Claudio Ortolina d9773bf45d Improve test description 2024-11-29 17:21:42 +00:00
Claudio Ortolina f0212eeb6f Consolidate cover resize logic
Moves resizing out of the MusicBrainz namespace to Records - which
improves division of responsibilities, and removes double resizing
during import.
2024-11-26 08:35:16 +00:00
Claudio Ortolina eef60a66a8 Shorten "No MusicBrainz ID" -> "No MB ID"
So that it's inline with other UI elements, and fits nicely in mobile UI
2024-11-26 08:03:34 +00:00