Skip to content

Commit 68a4a84

Browse files
Fix TransactionManager Robolectric tests (#156)
1 parent 166b259 commit 68a4a84

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ buildscript {
66
'kotlin' : '1.7.22',
77
'coroutines' : '1.4.2',
88
'pusher' : '2.2.1',
9-
'robolectric' : '4.4',
9+
'robolectric' : '4.9.2',
1010
'mockito' : '3.8.0',
1111
'mockito_kotlin': '2.2.0',
1212
'junit_ext' : '1.1.2',

paystack/src/main/java/co/paystack/android/TransactionManager.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,12 @@ private void setProcessingOn() {
285285
TransactionManager.PROCESSING = true;
286286
}
287287

288+
289+
@VisibleForTesting
290+
void setTransactionCallback(Paystack.TransactionCallback transactionCallback) {
291+
this.transactionCallback = transactionCallback;
292+
}
293+
288294
private class CardAsyncTask extends AsyncTask<Void, Void, Card> {
289295

290296
private final String publicKey;

paystack/src/test/java/co/paystack/android/TransactionManagerTest.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package co.paystack.android
22

33
import android.util.Log
44
import androidx.test.core.app.ActivityScenario
5+
import co.paystack.android.Paystack.TransactionCallback
56
import co.paystack.android.api.ApiCallback
67
import co.paystack.android.api.ChargeApiCallback
78
import co.paystack.android.api.PaystackRepository
@@ -27,6 +28,20 @@ class TransactionManagerTest {
2728
@Mock
2829
lateinit var paystackRepository: PaystackRepository
2930

31+
private val emptyTransactionCallback = object : TransactionCallback {
32+
override fun onSuccess(transaction: Transaction?) {
33+
}
34+
35+
override fun beforeValidate(transaction: Transaction?) {
36+
}
37+
38+
override fun showLoading(isProcessing: Boolean?) {
39+
}
40+
41+
override fun onError(error: Throwable?, transaction: Transaction?) {
42+
}
43+
}
44+
3045
@Before
3146
fun setup() {
3247
MockitoAnnotations.openMocks(this)
@@ -64,6 +79,7 @@ class TransactionManagerTest {
6479
.thenAnswer { Log.i(TAG, "initializeTransaction called") }
6580

6681
val transactionManager = TransactionManager(paystackRepository)
82+
transactionManager.setTransactionCallback(emptyTransactionCallback)
6783
transactionManager.initiateTransaction(publicKey, charge, deviceId)
6884

6985
verify(paystackRepository).initializeTransaction(
@@ -88,6 +104,7 @@ class TransactionManagerTest {
88104
.thenAnswer { Log.i(TAG, "getTransactionWithAccessCode called") }
89105

90106
val transactionManager = TransactionManager(paystackRepository)
107+
transactionManager.setTransactionCallback(emptyTransactionCallback)
91108
transactionManager.initiateTransaction(publicKey, charge, deviceId)
92109

93110
verify(paystackRepository).getTransactionWithAccessCode(
@@ -113,6 +130,7 @@ class TransactionManagerTest {
113130
}
114131

115132
val transactionManager = TransactionManager(paystackRepository)
133+
transactionManager.setTransactionCallback(emptyTransactionCallback)
116134
transactionManager.initiateTransaction(publicKey, charge, deviceId)
117135

118136
verify(paystackRepository).processCardCharge(

0 commit comments

Comments
 (0)