Skip to content

Commit f58615d

Browse files
committed
refactor of codes and validation update
1 parent a70a4ea commit f58615d

File tree

7 files changed

+96
-25
lines changed

7 files changed

+96
-25
lines changed

raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountPresenter.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
import com.flutterwave.raveandroid.FeeCheckRequestBody;
99
import com.flutterwave.raveandroid.Payload;
1010
import com.flutterwave.raveandroid.PayloadBuilder;
11-
import com.flutterwave.raveandroid.R;
12-
import com.flutterwave.raveandroid.RaveConstants;
1311
import com.flutterwave.raveandroid.RavePayInitializer;
1412
import com.flutterwave.raveandroid.Utils;
1513
import com.flutterwave.raveandroid.ViewObject;
@@ -29,7 +27,25 @@
2927
import java.util.HashMap;
3028
import java.util.List;
3129

32-
import static com.flutterwave.raveandroid.RaveConstants.*;
30+
import static com.flutterwave.raveandroid.RaveConstants.NG;
31+
import static com.flutterwave.raveandroid.RaveConstants.NGN;
32+
import static com.flutterwave.raveandroid.RaveConstants.RAVEPAY;
33+
import static com.flutterwave.raveandroid.RaveConstants.accounNumberPrompt;
34+
import static com.flutterwave.raveandroid.RaveConstants.date_of_birth;
35+
import static com.flutterwave.raveandroid.RaveConstants.defaultAccounNumber;
36+
import static com.flutterwave.raveandroid.RaveConstants.fieldAccount;
37+
import static com.flutterwave.raveandroid.RaveConstants.fieldAmount;
38+
import static com.flutterwave.raveandroid.RaveConstants.fieldBVN;
39+
import static com.flutterwave.raveandroid.RaveConstants.fieldBankCode;
40+
import static com.flutterwave.raveandroid.RaveConstants.fieldEmail;
41+
import static com.flutterwave.raveandroid.RaveConstants.fieldPhone;
42+
import static com.flutterwave.raveandroid.RaveConstants.invalidCharge;
43+
import static com.flutterwave.raveandroid.RaveConstants.isInternetBanking;
44+
import static com.flutterwave.raveandroid.RaveConstants.success;
45+
import static com.flutterwave.raveandroid.RaveConstants.transactionError;
46+
import static com.flutterwave.raveandroid.RaveConstants.validAmountPrompt;
47+
import static com.flutterwave.raveandroid.RaveConstants.validEmailPrompt;
48+
import static com.flutterwave.raveandroid.RaveConstants.validPhonePrompt;
3349

3450
/**
3551
* Created by hamzafetuga on 20/07/2017.
@@ -252,7 +268,7 @@ public void onDataCollected(HashMap<String, ViewObject> dataHashMap) {
252268
String phone = dataHashMap.get(fieldPhone).getData();
253269
Class phoneViewType = dataHashMap.get(fieldPhone).getViewType();
254270

255-
boolean isAmountValid = amountValidator.isAmountValid(Double.valueOf(amount));
271+
boolean isAmountValid = amountValidator.isAmountValid(amount);
256272
boolean isPhoneValid = phoneValidator.isPhoneValid(phone);
257273
boolean isEmailValid = emailValidator.isEmailValid(email);
258274

raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardPresenter.java

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import com.flutterwave.raveandroid.FeeCheckRequestBody;
88
import com.flutterwave.raveandroid.Payload;
99
import com.flutterwave.raveandroid.PayloadBuilder;
10-
import com.flutterwave.raveandroid.RaveConstants;
1110
import com.flutterwave.raveandroid.RavePayInitializer;
1211
import com.flutterwave.raveandroid.Utils;
1312
import com.flutterwave.raveandroid.ViewObject;
@@ -26,7 +25,35 @@
2625

2726
import java.util.HashMap;
2827

29-
import static com.flutterwave.raveandroid.RaveConstants.*;
28+
import static com.flutterwave.raveandroid.RaveConstants.ACCESS_OTP;
29+
import static com.flutterwave.raveandroid.RaveConstants.AVS_VBVSECURECODE;
30+
import static com.flutterwave.raveandroid.RaveConstants.GTB_OTP;
31+
import static com.flutterwave.raveandroid.RaveConstants.MANUAL_CARD_CHARGE;
32+
import static com.flutterwave.raveandroid.RaveConstants.NOAUTH;
33+
import static com.flutterwave.raveandroid.RaveConstants.NOAUTH_INTERNATIONAL;
34+
import static com.flutterwave.raveandroid.RaveConstants.PIN;
35+
import static com.flutterwave.raveandroid.RaveConstants.RAVEPAY;
36+
import static com.flutterwave.raveandroid.RaveConstants.VBV;
37+
import static com.flutterwave.raveandroid.RaveConstants.enterOTP;
38+
import static com.flutterwave.raveandroid.RaveConstants.expired;
39+
import static com.flutterwave.raveandroid.RaveConstants.fieldAmount;
40+
import static com.flutterwave.raveandroid.RaveConstants.fieldCardExpiry;
41+
import static com.flutterwave.raveandroid.RaveConstants.fieldCvv;
42+
import static com.flutterwave.raveandroid.RaveConstants.fieldEmail;
43+
import static com.flutterwave.raveandroid.RaveConstants.fieldcardNoStripped;
44+
import static com.flutterwave.raveandroid.RaveConstants.invalidChargeCode;
45+
import static com.flutterwave.raveandroid.RaveConstants.noResponse;
46+
import static com.flutterwave.raveandroid.RaveConstants.success;
47+
import static com.flutterwave.raveandroid.RaveConstants.tokenExpired;
48+
import static com.flutterwave.raveandroid.RaveConstants.tokenNotFound;
49+
import static com.flutterwave.raveandroid.RaveConstants.transactionError;
50+
import static com.flutterwave.raveandroid.RaveConstants.unknownAuthmsg;
51+
import static com.flutterwave.raveandroid.RaveConstants.unknownResCodemsg;
52+
import static com.flutterwave.raveandroid.RaveConstants.validAmountPrompt;
53+
import static com.flutterwave.raveandroid.RaveConstants.validCreditCardPrompt;
54+
import static com.flutterwave.raveandroid.RaveConstants.validCvvPrompt;
55+
import static com.flutterwave.raveandroid.RaveConstants.validExpiryDatePrompt;
56+
import static com.flutterwave.raveandroid.RaveConstants.validPhonePrompt;
3057

3158
/**
3259
* Created by hamzafetuga on 18/07/2017.
@@ -221,33 +248,33 @@ public void onDataCollected(HashMap<String, ViewObject> dataHashMap) {
221248

222249
Class cardNoStrippedViewType = dataHashMap.get(fieldcardNoStripped).getViewType();
223250

224-
boolean isAmountValidated = amountValidator.isAmountValid(Double.valueOf(amount));
225-
boolean isEmailValidated = emailValidator.isEmailValid(email);
226-
boolean isCVVValidated = cvvValidator.isCvvValid(cvv);
227-
boolean isCardExpiryValidated = cardExpiryValidator.isCardExpiryValid(cardExpiry);
228-
boolean isCardNoValidator = cardNoValidator.isCardNoStrippedValid(cardNoStripped);
251+
boolean isAmountValid = amountValidator.isAmountValid(amount);
252+
boolean isEmailValid = emailValidator.isEmailValid(email);
253+
boolean isCVVValid = cvvValidator.isCvvValid(cvv);
254+
boolean isCardExpiryValid = cardExpiryValidator.isCardExpiryValid(cardExpiry);
255+
boolean isCardNoValid = cardNoValidator.isCardNoStrippedValid(cardNoStripped);
229256

230-
if (!isAmountValidated) {
257+
if (!isAmountValid) {
231258
valid = false;
232259
mView.showFieldError(amountID, validAmountPrompt, amountViewType);
233260
}
234261

235-
if (!isEmailValidated) {
262+
if (!isEmailValid) {
236263
valid = false;
237264
mView.showFieldError(emailID, validPhonePrompt, emailViewType);
238265
}
239266

240-
if (!isCVVValidated) {
267+
if (!isCVVValid) {
241268
valid = false;
242269
mView.showFieldError(cvvID, validCvvPrompt, cvvViewType);
243270
}
244271

245-
if (!isCardExpiryValidated) {
272+
if (!isCardExpiryValid) {
246273
valid = false;
247274
mView.showFieldError(cardExpiryID, validExpiryDatePrompt, cardExpiryViewType);
248275
}
249276

250-
if (!isCardNoValidator) {
277+
if (!isCardNoValid) {
251278
valid = false;
252279
mView.showFieldError(cardNoStrippedID, validCreditCardPrompt, cardNoStrippedViewType);
253280
}

raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyPresenter.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,17 @@
2121

2222
import java.util.HashMap;
2323

24-
import static com.flutterwave.raveandroid.RaveConstants.*;
24+
import static com.flutterwave.raveandroid.RaveConstants.RAVEPAY;
25+
import static com.flutterwave.raveandroid.RaveConstants.fieldAmount;
26+
import static com.flutterwave.raveandroid.RaveConstants.fieldNetwork;
27+
import static com.flutterwave.raveandroid.RaveConstants.fieldPhone;
28+
import static com.flutterwave.raveandroid.RaveConstants.fieldVoucher;
29+
import static com.flutterwave.raveandroid.RaveConstants.noResponse;
30+
import static com.flutterwave.raveandroid.RaveConstants.transactionError;
31+
import static com.flutterwave.raveandroid.RaveConstants.validAmountPrompt;
32+
import static com.flutterwave.raveandroid.RaveConstants.validNetworkPrompt;
33+
import static com.flutterwave.raveandroid.RaveConstants.validPhonePrompt;
34+
import static com.flutterwave.raveandroid.RaveConstants.validVoucherPrompt;
2535

2636
/**
2737
* Created by hfetuga on 28/06/2018.
@@ -202,7 +212,7 @@ public void onDataCollected(HashMap<String, ViewObject> dataHashMap) {
202212

203213
int network = Integer.valueOf(dataHashMap.get(fieldNetwork).getData());
204214

205-
boolean isAmountValidated = amountValidator.isAmountValid(Double.valueOf(amount));
215+
boolean isAmountValidated = amountValidator.isAmountValid(amount);
206216
boolean isPhoneValid = phoneValidator.isPhoneValid(phone);
207217

208218
if (!isAmountValidated) {

raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaPresenter.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import com.flutterwave.raveandroid.FeeCheckRequestBody;
77
import com.flutterwave.raveandroid.Payload;
88
import com.flutterwave.raveandroid.PayloadBuilder;
9-
import com.flutterwave.raveandroid.R;
10-
import com.flutterwave.raveandroid.RaveConstants;
119
import com.flutterwave.raveandroid.RavePayInitializer;
1210
import com.flutterwave.raveandroid.Utils;
1311
import com.flutterwave.raveandroid.ViewObject;
@@ -23,7 +21,13 @@
2321

2422
import java.util.HashMap;
2523

26-
import static com.flutterwave.raveandroid.RaveConstants.*;
24+
import static com.flutterwave.raveandroid.RaveConstants.RAVEPAY;
25+
import static com.flutterwave.raveandroid.RaveConstants.fieldAmount;
26+
import static com.flutterwave.raveandroid.RaveConstants.fieldPhone;
27+
import static com.flutterwave.raveandroid.RaveConstants.noResponse;
28+
import static com.flutterwave.raveandroid.RaveConstants.transactionError;
29+
import static com.flutterwave.raveandroid.RaveConstants.validAmountPrompt;
30+
import static com.flutterwave.raveandroid.RaveConstants.validPhonePrompt;
2731

2832
/**
2933
* Created by hfetuga on 27/06/2018.
@@ -164,7 +168,7 @@ public void onDataCollected(HashMap<String, ViewObject> dataHashMap) {
164168
String phone = dataHashMap.get(fieldPhone).getData();
165169
Class phoneViewType = dataHashMap.get(fieldPhone).getViewType();
166170

167-
boolean isAmountValidated = amountValidator.isAmountValid(Double.valueOf(amount));
171+
boolean isAmountValidated = amountValidator.isAmountValid(amount);
168172
boolean isPhoneValid = phoneValidator.isPhoneValid(phone);
169173

170174
if (!isAmountValidated) {

raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyPresenter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import com.flutterwave.raveandroid.FeeCheckRequestBody;
77
import com.flutterwave.raveandroid.Payload;
88
import com.flutterwave.raveandroid.PayloadBuilder;
9-
import com.flutterwave.raveandroid.R;
109
import com.flutterwave.raveandroid.RaveConstants;
1110
import com.flutterwave.raveandroid.RavePayInitializer;
1211
import com.flutterwave.raveandroid.Utils;
@@ -162,7 +161,7 @@ public void onDataCollected(HashMap<String, ViewObject> dataHashMap) {
162161
String phone = dataHashMap.get(RaveConstants.fieldPhone).getData();
163162
Class phoneViewType = dataHashMap.get(RaveConstants.fieldPhone).getViewType();
164163

165-
boolean isAmountValidated = amountValidator.isAmountValid(Double.valueOf(amount));
164+
boolean isAmountValidated = amountValidator.isAmountValid(amount);
166165
boolean isPhoneValid = phoneValidator.isPhoneValid(phone);
167166

168167
if (!isAmountValidated) {

raveandroid/src/main/java/com/flutterwave/raveandroid/validators/AmountValidator.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,12 @@ public class AmountValidator {
55
public boolean isAmountValid(Double amount) {
66
return amount > 0;
77
}
8+
9+
public boolean isAmountValid(String amount) {
10+
if (!amount.isEmpty()) {
11+
return isAmountValid(Double.valueOf(amount));
12+
} else {
13+
return false;
14+
}
15+
}
816
}

raveandroid/src/test/java/com/flutterwave/raveandroid/validators/AmountValidatorTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import org.junit.runners.JUnit4;
77

88
import static org.hamcrest.CoreMatchers.is;
9-
import static org.junit.Assert.*;
9+
import static org.junit.Assert.assertThat;
1010

1111
@RunWith(JUnit4.class)
1212
public class AmountValidatorTest {
@@ -32,4 +32,11 @@ public void isAmountvalid_isNegativeAmountPassed_returnsFalse(){
3232
assertThat(false, is(isAmountValid));
3333
}
3434

35+
@Test
36+
public void isAmountvalid_isEmptyAmountPassed_returnsFalse() {
37+
String amount = "";
38+
boolean isAmountValid = SUT.isAmountValid(amount);
39+
assertThat(false, is(isAmountValid));
40+
}
41+
3542
}

0 commit comments

Comments
 (0)