mirror of
https://github.com/Aminark/legado-ios.git
synced 2026-10-20 19:21:22 +08:00
22 lines
839 B
Swift
22 lines
839 B
Swift
import Foundation
|
|
import Testing
|
|
@testable import LegadoCore
|
|
|
|
struct BookRepositoryTests {
|
|
@Test func persistsBooksAtomically() async throws {
|
|
let directory = FileManager.default.temporaryDirectory
|
|
.appending(path: UUID().uuidString, directoryHint: .isDirectory)
|
|
let fileURL = directory.appending(path: "books.json")
|
|
defer { try? FileManager.default.removeItem(at: directory) }
|
|
let repository = FileBookRepository(fileURL: fileURL)
|
|
var book = Book(bookUrl: "https://example.test/book/1", name: "测试书", author: "作者", origin: "https://example.test")
|
|
book.durChapterIndex = 3
|
|
|
|
try await repository.save([book])
|
|
let restored = try await repository.load()
|
|
|
|
#expect(restored == [book])
|
|
#expect(restored.first?.durChapterIndex == 3)
|
|
}
|
|
}
|