Ensure that the persisted test database has had migrations applied.

This commit is contained in:
Kris Nuttycombe 2022-10-20 14:22:24 -06:00
parent 1273d303ec
commit a483537cb1
3 changed files with 16 additions and 12 deletions

View File

@ -16,8 +16,8 @@ class NotesRepositoryTests: XCTestCase {
override func setUp() {
super.setUp()
sentNotesRepository = TestDbBuilder.sentNotesRepository()
receivedNotesRepository = TestDbBuilder.receivedNotesRepository()
sentNotesRepository = try! TestDbBuilder.sentNotesRepository()
receivedNotesRepository = try! TestDbBuilder.receivedNotesRepository()
}
override func tearDown() {

View File

@ -15,7 +15,7 @@ class TransactionRepositoryTests: XCTestCase {
override func setUp() {
super.setUp()
transactionRepository = TestDbBuilder.transactionRepository()
transactionRepository = try! TestDbBuilder.transactionRepository()
}
override func tearDown() {

View File

@ -73,26 +73,30 @@ class TestDbBuilder {
Bundle.module.url(forResource: "ZcashSdk_Data", withExtension: "db")
}
static func prepopulatedDataDbProvider() -> ConnectionProvider? {
static func prepopulatedDataDbProvider() throws -> ConnectionProvider? {
guard let url = prePopulatedMainnetDataDbURL() else { return nil }
let provider = SimpleConnectionProvider(path: url.absoluteString, readonly: true)
return provider
let initResult = try ZcashRustBackend.initDataDb(dbData: url, seed: nil, networkType: NetworkType.testnet)
switch (initResult) {
case .success: return provider
case .seedRequired:
throw StorageError.migrationFailedWithMessage(message: "Seed value required to initialize the wallet database")
}
}
static func transactionRepository() -> TransactionRepository? {
guard let provider = prepopulatedDataDbProvider() else { return nil }
static func transactionRepository() throws -> TransactionRepository? {
guard let provider = try prepopulatedDataDbProvider() else { return nil }
return TransactionSQLDAO(dbProvider: provider)
}
static func sentNotesRepository() -> SentNotesRepository? {
guard let provider = prepopulatedDataDbProvider() else { return nil }
static func sentNotesRepository() throws -> SentNotesRepository? {
guard let provider = try prepopulatedDataDbProvider() else { return nil }
return SentNotesSQLDAO(dbProvider: provider)
}
static func receivedNotesRepository() -> ReceivedNoteRepository? {
guard let provider = prepopulatedDataDbProvider() else { return nil }
static func receivedNotesRepository() throws -> ReceivedNoteRepository? {
guard let provider = try prepopulatedDataDbProvider() else { return nil }
return ReceivedNotesSQLDAO(dbProvider: provider)
}