Skip to content

Commit 149a991

Browse files
authored
Merge pull request #747 from synonymdev/fix/disable-timed-sheet-after-restore
fix: skip backup warning after wallet restore
2 parents 3d54ead + 5c57a18 commit 149a991

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

app/src/main/java/to/bitkit/repositories/WalletRepo.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,8 @@ class WalletRepo @Inject constructor(
300300
keychain.saveString(Keychain.Key.BIP39_PASSPHRASE.name, bip39Passphrase)
301301
}
302302
setWalletExistsState()
303+
}.onSuccess {
304+
settingsStore.update { it.copy(backupVerified = true) }
303305
}.onFailure {
304306
Logger.error("restoreWallet error", it, context = TAG)
305307
}

app/src/test/java/to/bitkit/repositories/WalletRepoTest.kt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,28 @@ class WalletRepoTest : BaseUnitTest() {
166166
verify(keychain).saveString(Keychain.Key.BIP39_MNEMONIC.name, mnemonic)
167167
}
168168

169+
@Test
170+
fun `restoreWallet should set backupVerified to true on success`() = test {
171+
val mnemonic = "restore mnemonic"
172+
whenever(keychain.saveString(any(), any())).thenReturn(Unit)
173+
174+
val result = sut.restoreWallet(mnemonic, null)
175+
176+
assertTrue(result.isSuccess)
177+
verify(settingsStore).update(any())
178+
}
179+
180+
@Test
181+
fun `restoreWallet should not set backupVerified when keychain fails`() = test {
182+
val mnemonic = "restore mnemonic"
183+
whenever(keychain.saveString(any(), any())).thenThrow(error)
184+
185+
val result = sut.restoreWallet(mnemonic, null)
186+
187+
assertTrue(result.isFailure)
188+
verify(settingsStore, never()).update(any())
189+
}
190+
169191
@Test
170192
fun `refreshBip21 should generate new address when current is empty`() = test {
171193
whenever(lightningRepo.newAddress()).thenReturn(Result.success(ADDRESS_NEW))

0 commit comments

Comments
 (0)