Skip to content

Commit

Permalink
updated unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
giannis-rdx committed Jul 4, 2024
1 parent 18e3772 commit b885083
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ import io.mockk.mockkStatic
import io.mockk.slot
import junit.framework.TestCase
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.emptyFlow
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.test.TestScope
Expand Down Expand Up @@ -236,8 +235,7 @@ internal class TransactionReviewViewModelTest : StateViewModelTest<TransactionRe
Badge(address = ResourceAddress.sampleMainnet())
)
)
coEvery { signTransactionUseCase.sign(any(), any()) } returns Result.success(notarizationResult)
coEvery { signTransactionUseCase.signingState } returns emptyFlow()
coEvery { signTransactionUseCase(any()) } returns Result.success(notarizationResult)
coEvery { searchFeePayersUseCase(any(), any()) } returns Result.success(TransactionFeePayers(AccountAddress.sampleMainnet.random()))
coEvery { transactionRepository.getLedgerEpoch() } returns Result.success(0.toULong())
coEvery { transactionRepository.getTransactionPreview(any()) } returns Result.success(previewResponse())
Expand Down Expand Up @@ -271,7 +269,6 @@ internal class TransactionReviewViewModelTest : StateViewModelTest<TransactionRe

override fun initVM(): TransactionReviewViewModel {
return TransactionReviewViewModel(
signTransactionUseCase = signTransactionUseCase,
analysis = TransactionAnalysisDelegate(
previewTypeAnalyzer = previewTypeAnalyzer,
cacheNewlyCreatedEntitiesUseCase = cacheNewlyCreatedEntitiesUseCase,
Expand All @@ -284,6 +281,7 @@ internal class TransactionReviewViewModelTest : StateViewModelTest<TransactionRe
getProfileUseCase = getProfileUseCase,
),
submit = TransactionSubmitDelegate(
signTransactionUseCase = signTransactionUseCase,
respondToIncomingRequestUseCase = respondToIncomingRequestUseCase,
getCurrentGatewayUseCase = getCurrentGatewayUseCase,
incomingRequestRepository = incomingRequestRepository,
Expand All @@ -304,7 +302,7 @@ internal class TransactionReviewViewModelTest : StateViewModelTest<TransactionRe
fun `transaction approval success`() = runTest {
val vm = vm.value
advanceUntilIdle()
vm.approveTransaction { true }
vm.onApproveTransaction()
advanceUntilIdle()
coVerify(exactly = 1) {
respondToIncomingRequestUseCase.respondWithSuccess(
Expand All @@ -319,7 +317,7 @@ internal class TransactionReviewViewModelTest : StateViewModelTest<TransactionRe
coEvery { getCurrentGatewayUseCase() } returns Gateway.forNetwork(NetworkId.STOKENET)
val vm = vm.value
advanceUntilIdle()
vm.approveTransaction { true }
vm.onApproveTransaction()
advanceUntilIdle()
val errorSlot = slot<DappWalletInteractionErrorType>()
coVerify(exactly = 1) {
Expand All @@ -337,12 +335,12 @@ internal class TransactionReviewViewModelTest : StateViewModelTest<TransactionRe

@Test
fun `transaction approval sign and submit error`() = runTest {
coEvery { signTransactionUseCase.sign(any(), any()) } returns Result.failure(
coEvery { signTransactionUseCase(any()) } returns Result.failure(
RadixWalletException.PrepareTransactionException.SubmitNotarizedTransaction()
)
val vm = vm.value
advanceUntilIdle()
vm.approveTransaction { true }
vm.onApproveTransaction()
advanceUntilIdle()
val state = vm.state.first()
val errorSlot = slot<DappWalletInteractionErrorType>()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ import io.mockk.every
import io.mockk.mockk
import junit.framework.TestCase.assertTrue
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
Expand Down Expand Up @@ -81,9 +80,7 @@ internal class TransactionReviewViewModelTestExperimental : StateViewModelTest<T
private val respondToIncomingRequestUseCase = mockk<RespondToIncomingRequestUseCase>()
private val appEventBus = AppEventBusImpl()
private val exceptionMessageProvider = mockk<ExceptionMessageProvider>()
private val signTransactionUseCase = mockk<SignTransactionUseCase>().apply {
every { signingState } returns flowOf()
}
private val signTransactionUseCase = mockk<SignTransactionUseCase>()
private val preferencesManager = mockk<PreferencesManager>()

private val profileRepository = FakeProfileRepository(profile = testProfile)
Expand Down Expand Up @@ -123,7 +120,7 @@ internal class TransactionReviewViewModelTestExperimental : StateViewModelTest<T
compiledNotarizedIntent = CompiledNotarizedIntent.sample(),
endEpoch = 0u
)
coEvery { signTransactionUseCase.sign(any(), any()) } returns Result.success(notarization)
coEvery { signTransactionUseCase(any()) } returns Result.success(notarization)
coEvery { transactionRepository.submitTransaction(any()) } returns Result.success(TransactionSubmitResponse(duplicate = false))


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ internal fun testViewModel(
savedStateHandle: SavedStateHandle,
testScope: TestScope
) = TransactionReviewViewModel(
signTransactionUseCase = signTransactionUseCase,
analysis = TransactionAnalysisDelegate(
previewTypeAnalyzer = PreviewTypeAnalyzer(
generalTransferProcessor = GeneralTransferProcessor(
Expand Down Expand Up @@ -102,6 +101,7 @@ internal fun testViewModel(
guarantees = TransactionGuaranteesDelegate(),
fees = TransactionFeesDelegate(getProfileUseCase = GetProfileUseCase(profileRepository)),
submit = TransactionSubmitDelegate(
signTransactionUseCase = signTransactionUseCase,
respondToIncomingRequestUseCase = respondToIncomingRequestUseCase,
getCurrentGatewayUseCase = GetCurrentGatewayUseCase(profileRepository),
incomingRequestRepository = incomingRequestRepository,
Expand Down

0 comments on commit b885083

Please sign in to comment.