Files

29 lines
1.1 KiB
Swift

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)
}