Skip to content

Commit 8c9eba1

Browse files
committed
- add network validation failed -> show Toast condition
1 parent 033d686 commit 8c9eba1

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

raveandroid/src/test/java/com/flutterwave/raveandroid/zmmobilemoney/ZmMobileMoneyPresenterTest.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,14 @@
4545
import static com.flutterwave.raveandroid.RaveConstants.fieldPhone;
4646
import static com.flutterwave.raveandroid.RaveConstants.noResponse;
4747
import static com.flutterwave.raveandroid.RaveConstants.success;
48+
import static com.flutterwave.raveandroid.RaveConstants.transactionError;
49+
import static com.flutterwave.raveandroid.RaveConstants.validNetworkPrompt;
4850
import static org.junit.Assert.assertEquals;
4951
import static org.mockito.ArgumentMatchers.any;
5052
import static org.mockito.ArgumentMatchers.anyInt;
5153
import static org.mockito.ArgumentMatchers.anyObject;
5254
import static org.mockito.ArgumentMatchers.anyString;
55+
import static org.mockito.Mockito.doThrow;
5356
import static org.mockito.Mockito.times;
5457
import static org.mockito.Mockito.verify;
5558
import static org.mockito.Mockito.when;
@@ -115,6 +118,20 @@ public void fetchFee_onSuccess_displayFeeCalled() {
115118

116119
}
117120

121+
@Test
122+
public void fetchFee_onSuccess_exceptionThrown_showFetchFeeFailed() throws NullPointerException {
123+
124+
doThrow(NullPointerException.class).when(view).displayFee(any(String.class), any(Payload.class));
125+
presenter.fetchFee(generatePayload());
126+
127+
ArgumentCaptor<Callbacks.OnGetFeeRequestComplete> captor = ArgumentCaptor.forClass(Callbacks.OnGetFeeRequestComplete.class);
128+
verify(networkRequest).getFee(any(FeeCheckRequestBody.class), captor.capture());
129+
captor.getAllValues().get(0).onSuccess(generateFeeCheckResponse());
130+
131+
verify(view).showFetchFeeFailed(transactionError);
132+
133+
}
134+
118135

119136
@Test
120137
public void chargeZmMobileMoney_onSuccess_requeryTxCalled() {
@@ -280,6 +297,22 @@ public void onDataCollected_InvalidDataPassed_showFieldErrorCalled() {
280297

281298
}
282299

300+
@Test
301+
public void onDataCollected_InvalidNetworkError_showToast() {
302+
//arrange
303+
HashMap<String, ViewObject> map = generateViewData();
304+
int failedValidations = 2;
305+
generateViewValidation(failedValidations);
306+
307+
when(networkValidator.isNetworkValid(anyString())).thenReturn(false);
308+
309+
//act
310+
presenter.onDataCollected(map);
311+
//assert
312+
verify(view).showToast(validNetworkPrompt);
313+
314+
}
315+
283316
@Test
284317
public void onDataCollected_validDataPassed_onValidationSuccessfulCalled() {
285318
//arrange

0 commit comments

Comments
 (0)