Skip to content

Commit c6b0a29

Browse files
committed
ACHPresenter TestCases
requeryTx_onSuccess_onRequerySuccessfulCalled verifyRequeryResponseStatus_transactionUnsuccessful_onPaymentFailedCalled verifyRequeryResponseStatus_transactionSuccessful_onPaymentSuccessfulCalled onFeeConfirmed_showWebViewCalled init_inValidAmount_showRedirectMessageFalse onPayButtonClicked_inValidAmount_showAmountError_onValidationSuccessfulCalled init_validAmount_showRedirectMessageTrue onPayButtonClicked_validAmount_showAmountError_onValidationSuccessfulCalled processTransaction_chargeAccountCalled chargeAccount_onSuccess_nullChargeResponseReturned_onPaymentErrorCalled_noResponseMessage chargeAccount_noDisplayFee_onSuccess_validResponseReturned_showWebViewCalled requeryTx_onError_onPaymentFailedCalled chargeAccount_onSuccess_inValidResponseReturned_onPaymentErrorCalled_noAuthUrlMessage chargeAccount_displayFee_chargeCard_onSuccess_saveFlwRef_validResponseReturned_showFeeCalled Added AchPresenterTest and AchPresenter to the TestComponent Class Injected SharedPrefsRequestImpl Class
1 parent 0eeea14 commit c6b0a29

File tree

8 files changed

+333
-13
lines changed

8 files changed

+333
-13
lines changed

raveandroid/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ dependencies {
5151
testImplementation 'com.google.dagger:dagger:2.17'
5252
testAnnotationProcessor 'com.google.dagger:dagger-compiler:2.17'
5353
testImplementation 'org.mockito:mockito-core:2.25.0'
54+
testImplementation 'org.mockito:mockito-inline:2.13.0'
5455

5556

5657
}

raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchPresenter.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
import android.content.Context;
44

5+
import com.flutterwave.raveandroid.DeviceIdGetter;
56
import com.flutterwave.raveandroid.Payload;
67
import com.flutterwave.raveandroid.PayloadBuilder;
7-
import com.flutterwave.raveandroid.R;
88
import com.flutterwave.raveandroid.RaveConstants;
99
import com.flutterwave.raveandroid.RavePayInitializer;
1010
import com.flutterwave.raveandroid.TransactionStatusChecker;
@@ -23,7 +23,7 @@
2323

2424
public class AchPresenter implements AchContract.UserActionsListener {
2525

26-
private Context context;
26+
Context context;
2727
private AchContract.View mView;
2828

2929
@Inject
@@ -35,6 +35,8 @@ public class AchPresenter implements AchContract.UserActionsListener {
3535
NetworkRequestImpl networkRequest;
3636
@Inject
3737
TransactionStatusChecker transactionStatusChecker;
38+
@Inject
39+
DeviceIdGetter deviceIdGetter;
3840

3941
@Inject
4042
public AchPresenter(Context context, AchContract.View mView) {
@@ -69,7 +71,7 @@ public void onPayButtonClicked(RavePayInitializer ravePayInitializer, String amo
6971
if (isAmountValid) {
7072
mView.onValidationSuccessful(amount);
7173
} else {
72-
mView.showAmountError(context.getResources().getString(R.string.validAmountPrompt));
74+
mView.showAmountError(RaveConstants.validAmountPrompt);
7375
}
7476

7577
}
@@ -85,12 +87,12 @@ public void processTransaction(String amount, RavePayInitializer ravePayInitiali
8587
.setEmail(ravePayInitializer.getEmail())
8688
.setFirstname(ravePayInitializer.getfName())
8789
.setLastname(ravePayInitializer.getlName())
88-
.setIP(Utils.getDeviceImei(context))
90+
.setIP(deviceIdGetter.getDeviceId())
8991
.setTxRef(ravePayInitializer.getTxRef())
9092
.setMeta(ravePayInitializer.getMeta())
9193
.setPBFPubKey(ravePayInitializer.getPublicKey())
9294
.setIsUsBankCharge(ravePayInitializer.isWithAch())
93-
.setDevice_fingerprint(Utils.getDeviceImei(context));
95+
.setDevice_fingerprint(deviceIdGetter.getDeviceId());
9496

9597
if (ravePayInitializer.getPayment_plan() != null) {
9698
builder.setPaymentPlan(ravePayInitializer.getPayment_plan());
@@ -139,7 +141,7 @@ public void onSuccess(ChargeResponse response, String responseAsJSONString) {
139141
}
140142
}
141143
else {
142-
mView.onPaymentError(context.getResources().getString(R.string.no_authurl_was_returnedmsg));
144+
mView.onPaymentError(RaveConstants.no_authurl_was_returnedmsg);
143145
}
144146

145147
}

raveandroid/src/main/java/com/flutterwave/raveandroid/data/NetworkRequestImpl.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,15 @@ public class NetworkRequestImpl implements DataRequest.NetworkRequest {
3737

3838
Retrofit retrofit;
3939
ApiService service;
40+
Gson gson;
41+
4042
private String errorParsingError = "An error occurred parsing the error response";
4143

4244
@Inject
43-
public NetworkRequestImpl(Retrofit retrofit, ApiService service) {
45+
public NetworkRequestImpl(Retrofit retrofit, ApiService service, Gson gson) {
4446
this.retrofit = retrofit;
4547
this.service = service;
48+
this.gson = gson;
4649
}
4750

4851
public NetworkRequestImpl() {

raveandroid/src/main/java/com/flutterwave/raveandroid/data/SharedPrefsRequestImpl.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,16 @@
1313
import java.util.List;
1414

1515
import javax.inject.Inject;
16-
import javax.inject.Singleton;
1716

1817
import static com.flutterwave.raveandroid.RaveConstants.RAVEPAY;
1918

2019
/**
2120
* Created by hamzafetuga on 25/07/2017.
2221
*/
2322

24-
@Singleton
2523
public class SharedPrefsRequestImpl implements DataRequest.SharedPrefsRequest {
2624

27-
Context context;
25+
public Context context;
2826
SharedPreferences sharedPreferences;
2927
SharedPreferences.Editor editor;
3028
String FLW_REF_KEY = "flw_ref_key";
@@ -81,7 +79,6 @@ public List<SavedCard> getSavedCards(String email) {
8179
String json = sharedPreferences.getString("SAVED_CARDS" + email, "[]");
8280

8381
try {
84-
Gson gson = new Gson();
8582
Type type = new TypeToken<List<SavedCard>>() {
8683
}.getType();
8784
return gson.fromJson(json, type);

0 commit comments

Comments
 (0)