import Foundation import SourceFake import Store import Sync import Testing @Test func fakeSourceSyncsIntoLibrary() async throws { let library = MemoryLibrary() let source = FakeSource() try await SyncEngine(library: library).sync(source) let albums = await library.albums(sortedBy: .title) #expect(albums.count == 35) #expect(await library.cursor(for: source.id) != nil) let first = try #require(albums.first) #expect(await library.tracks(inAlbum: first.id).count == first.trackCount) #expect(await !library.search("harbor").artists.isEmpty) try await SyncEngine(library: library).sync(source) #expect(await library.albums(sortedBy: .title).count == 35) } @Test func fakeArtworkRenders() async throws { let source = FakeSource() let library = MemoryLibrary() try await SyncEngine(library: library).sync(source) let artwork = try #require(await library.albums(sortedBy: .title).first?.artwork) let request = try await source.artwork(artwork, pixelSize: 300) #expect(try Data(contentsOf: request.url).count > 1000) }