Fix artwork upload pipeline
This commit is contained in:
+36
@@ -91,6 +91,42 @@ final class LocalCatalogServiceTests: XCTestCase {
|
||||
XCTAssertEqual(storedTracks.first?.sha256, "sha-updated")
|
||||
}
|
||||
|
||||
func testScanPersistsEmbeddedArtworkReferenceWithoutStoringArtworkBytesInSwiftData() async throws {
|
||||
let repository = try SwiftDataTrackRepository(isStoredInMemoryOnly: true)
|
||||
let service = DefaultLocalCatalogService(repository: repository)
|
||||
let modifiedAt = Date(timeIntervalSince1970: 2_500)
|
||||
let artwork = LocalTrackArtwork(
|
||||
localFilePath: "/Application Support/Velody/local-artwork/artwork-sha.png",
|
||||
sha256: "artwork-sha",
|
||||
mimeType: "image/png",
|
||||
width: 512,
|
||||
height: 512
|
||||
)
|
||||
|
||||
let result = try await service.reconcileScanResults(
|
||||
[
|
||||
ScannedLocalTrack(
|
||||
title: "Art Track",
|
||||
artist: "Artist",
|
||||
album: "Album",
|
||||
durationSeconds: 180,
|
||||
localFilePath: "/Music/ArtTrack.mp3",
|
||||
sha256: "sha-art-track",
|
||||
artwork: artwork,
|
||||
fileModifiedAt: modifiedAt
|
||||
),
|
||||
],
|
||||
in: URL(fileURLWithPath: "/Music"),
|
||||
scannedAt: Date(timeIntervalSince1970: 2_600)
|
||||
)
|
||||
|
||||
let storedTrack = try XCTUnwrap(result.tracks.first)
|
||||
XCTAssertEqual(storedTrack.artwork, artwork)
|
||||
|
||||
let reloadedTrack = try await repository.findTrack(trackID: storedTrack.id)
|
||||
XCTAssertEqual(reloadedTrack?.artwork, artwork)
|
||||
}
|
||||
|
||||
func testRescanMarksDeletedTracksAndReactivatesExistingSHA() async throws {
|
||||
let repository = try SwiftDataTrackRepository(isStoredInMemoryOnly: true)
|
||||
let service = DefaultLocalCatalogService(repository: repository)
|
||||
|
||||
Reference in New Issue
Block a user