Skip to content

Commit 51a9d98

Browse files
committed
updates
1 parent fba38ef commit 51a9d98

18 files changed

Lines changed: 901 additions & 0 deletions
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.flutterwave.services;
2+
3+
import com.flutterwave.bean.ACHRequest;
4+
import com.flutterwave.bean.Meta;
5+
import com.flutterwave.utility.Environment;
6+
import org.junit.jupiter.api.Assertions;
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Test;
9+
10+
import java.math.BigDecimal;
11+
import java.util.Optional;
12+
13+
import static org.junit.jupiter.api.Assertions.*;
14+
15+
/**
16+
* @author Cleopatra Douglas
17+
*/
18+
class ACHTest {
19+
20+
ACHRequest achRequest;
21+
22+
@BeforeEach
23+
void setUp() {
24+
25+
26+
achRequest = new ACHRequest("MC-1585230ew9v5050e8",
27+
new BigDecimal("100"),
28+
"stefan.wexler@hotmail.eu",
29+
"0902620185",
30+
"USD",
31+
"US",
32+
"154.123.220.1",
33+
"Yolande Aglaé Colbert",
34+
"https://www.flutterwave.com/us/",
35+
"62wd23423rq324323qew1",
36+
Optional.empty());
37+
}
38+
39+
@Test
40+
void runTransaction() {
41+
Assertions.assertEquals("success", new ACH().runTransaction(achRequest).getStatus());
42+
}
43+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.flutterwave.services;
2+
3+
import com.flutterwave.bean.BankAccountRequest;
4+
import com.flutterwave.utility.Environment;
5+
import org.junit.jupiter.api.Assertions;
6+
import org.junit.jupiter.api.BeforeEach;
7+
import org.junit.jupiter.api.Test;
8+
9+
import java.math.BigDecimal;
10+
11+
import static org.junit.jupiter.api.Assertions.*;
12+
13+
/**
14+
* @author Cleopatra Douglas
15+
*/
16+
class BankAccountTest {
17+
18+
BankAccountRequest NGNbankAccountRequest;
19+
BankAccountRequest UKbankAccountRequest;
20+
21+
@BeforeEach
22+
void setUp() {
23+
24+
25+
26+
NGNbankAccountRequest = new BankAccountRequest("MC-1585230ew9v5050e8",
27+
new BigDecimal("100"),
28+
"058",
29+
"0690000032",
30+
"NGN",
31+
"stefan.wexler@hotmail.eu",
32+
"0902620185",
33+
"Yolande Aglaé Colbert");
34+
35+
UKbankAccountRequest = new BankAccountRequest("MC-1585230ew9v5050e8",
36+
new BigDecimal("100"),
37+
"044",
38+
"0690000032",
39+
"GBP",
40+
"stefan.wexler@hotmail.eu",
41+
"0902620185",
42+
"Yolande Aglaé Colbert");
43+
}
44+
45+
@Test
46+
void runNGNTransaction() {
47+
Assertions.assertEquals("success", new BankAccount().runTransaction(NGNbankAccountRequest).getStatus());
48+
}
49+
50+
@Test
51+
void runUKTransaction() {
52+
Assertions.assertEquals("success", new BankAccount().runTransaction(UKbankAccountRequest).getStatus());
53+
}
54+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.flutterwave.services;
2+
3+
import com.flutterwave.utility.Environment;
4+
import org.junit.jupiter.api.Assertions;
5+
import org.junit.jupiter.api.BeforeEach;
6+
import org.junit.jupiter.api.Test;
7+
8+
import static org.junit.jupiter.api.Assertions.*;
9+
10+
/**
11+
* @author Cleopatra Douglas
12+
*/
13+
class BanksTest {
14+
15+
16+
@BeforeEach
17+
void setUp() {
18+
19+
}
20+
21+
@Test
22+
void getBanks() {
23+
Assertions.assertEquals("success", new Banks().getBanks("NG").getStatus());
24+
}
25+
26+
@Test
27+
void getBankBranches() {
28+
Assertions.assertEquals("success", new Banks().getBankBranches(280).getStatus());
29+
}
30+
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package com.flutterwave.services;
2+
3+
import com.flutterwave.bean.Authorization;
4+
import com.flutterwave.bean.CardRequest;
5+
import com.flutterwave.bean.Response;
6+
import com.flutterwave.utility.Environment;
7+
import org.junit.jupiter.api.Assertions;
8+
import org.junit.jupiter.api.BeforeEach;
9+
import org.junit.jupiter.api.Test;
10+
11+
import java.math.BigDecimal;
12+
import java.util.Optional;
13+
14+
import static com.flutterwave.bean.AuthorizationModes.PIN;
15+
import static com.flutterwave.bean.ChargeTypes.CARD;
16+
17+
class CardChargeTest {
18+
CardRequest cardRequest;
19+
20+
@BeforeEach
21+
void setUp() {
22+
23+
24+
25+
cardRequest = new CardRequest("5531886652142950",
26+
"564",
27+
"09",
28+
"32",
29+
"NGN",
30+
new BigDecimal("100"),
31+
"Yolande Aglaé Colbert",
32+
"stefan.wexler@hotmail.eu",
33+
"MC-3243e8",
34+
"https://www,flutterwave.ng",
35+
null);
36+
}
37+
38+
@Test
39+
void runTransaction() {
40+
Assertions.assertEquals("success", new CardCharge().runTransaction(cardRequest).getStatus());
41+
}
42+
43+
@Test
44+
void authorizeTransactionPin() {
45+
Optional.ofNullable(new CardCharge().runTransaction(cardRequest))
46+
.map(response -> {
47+
switch (response.getMeta().getAuthorization().getMode()){
48+
case PIN -> cardRequest.setAuthorization(new Authorization().pinAuthorization("3306"));
49+
case AUS_NOAUTH -> cardRequest.setAuthorization(new Authorization().avsAuthorization("",
50+
"",
51+
"",
52+
"",
53+
""));
54+
case REDIRECT -> {
55+
//redirect user
56+
}
57+
}
58+
Response authorizeResponse = new CardCharge().runTransaction(cardRequest);
59+
60+
Assertions.assertEquals("success", authorizeResponse.getStatus());
61+
62+
//validate
63+
validateTransaction(authorizeResponse.getData().getFlw_ref());
64+
65+
//verify
66+
verifyTransaction(authorizeResponse.getData().getId());
67+
return null;
68+
});
69+
}
70+
71+
void validateTransaction(String flw_ref) {
72+
cardRequest.setAuthorization(new Authorization().pinAuthorization("3306"));
73+
Assertions.assertEquals("success", new ValidateCharge("1111", flw_ref, Optional.of(CARD)).runTransaction().getStatus());
74+
}
75+
76+
void verifyTransaction(int id) {
77+
Assertions.assertEquals("success", new Transactions().runVerifyTransaction(id).getStatus());
78+
}
79+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.flutterwave.services;
2+
3+
import com.flutterwave.bean.FawryPayRequest;
4+
import org.junit.jupiter.api.Assertions;
5+
import org.junit.jupiter.api.BeforeEach;
6+
import org.junit.jupiter.api.Test;
7+
8+
import java.math.BigDecimal;
9+
import java.util.Optional;
10+
11+
import static org.junit.jupiter.api.Assertions.*;
12+
13+
/**
14+
* @author Cleopatra Douglas
15+
*/
16+
class FawryPayTest {
17+
18+
FawryPayRequest fawryPayRequest;
19+
20+
@BeforeEach
21+
void setUp() {
22+
fawryPayRequest = new FawryPayRequest("fawrySample1",
23+
new BigDecimal("10"),
24+
"user@flw.com",
25+
"EGP",
26+
"09012345678",
27+
"https://www.flutterwave.com",
28+
Optional.empty());
29+
30+
}
31+
32+
@Test
33+
void runTransaction() {
34+
Assertions.assertEquals("success", new FawryPay().runTransaction(fawryPayRequest).getStatus());
35+
}
36+
}
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
package com.flutterwave.services;
2+
3+
import com.flutterwave.bean.*;
4+
import com.flutterwave.bean.MobileMoneyRequest;
5+
import com.flutterwave.utility.Environment;
6+
import org.junit.jupiter.api.Assertions;
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Test;
9+
10+
import java.math.BigDecimal;
11+
import java.util.Optional;
12+
13+
/**
14+
* @author Cleopatra Douglas
15+
*/
16+
class MobileMoneyRequestTest {
17+
MpesaRequest mpesaRequest;
18+
GhanaMobileMoneyRequestRequest ghanaMobileMoneyRequest;
19+
UgandaMobileMoneyRequestRequest ugandaMobileMoneyRequest;
20+
FrancophoneMobileMoneyRequestRequest francophoneMobileMoneyRequest;
21+
RwandaMobileMoneyRequestRequest rwandaMobileMoneyRequest;
22+
ZambiaMobileMoneyRequestRequest zambiaMobileMoneyRequest;
23+
24+
@BeforeEach
25+
void setUp() {
26+
27+
28+
mpesaRequest = new MpesaRequest("MC-15852113s09v5050e8",
29+
new BigDecimal("10"),
30+
"KES",
31+
"stefan.wexler@hotmail.eu",
32+
"25454709929220",
33+
"Yolande Aglaé Colbert");
34+
35+
ghanaMobileMoneyRequest = new GhanaMobileMoneyRequestRequest("MC-158523s09v5050e8",
36+
new BigDecimal("150"),
37+
"GHS",
38+
"143256743",
39+
"MTN",
40+
"stefan.wexler@hotmail.eu",
41+
"054709929220",
42+
"Yolande Aglaé Colbert",
43+
"154.123.220.1",
44+
"62wd23423rq324323qew1",
45+
Optional.empty());
46+
47+
ugandaMobileMoneyRequest = new UgandaMobileMoneyRequestRequest("MC-158523s09v5050e8",
48+
new BigDecimal("150"),
49+
"UGX",
50+
"143256743",
51+
"MTN",
52+
"stefan.wexler@hotmail.eu",
53+
"054709929220",
54+
"Yolande Aglaé Colbert",
55+
"154.123.220.1",
56+
"62wd23423rq324323qew1",
57+
Optional.empty());
58+
59+
francophoneMobileMoneyRequest = new FrancophoneMobileMoneyRequestRequest("MC-15852113s09v5050e8",
60+
new BigDecimal("10"),
61+
"CM",
62+
"XAF",
63+
"stefan.wexler@hotmail.eu",
64+
"25454709929220",
65+
"Yolande Aglaé Colbert");
66+
67+
rwandaMobileMoneyRequest = new RwandaMobileMoneyRequestRequest("MC-15852113s09v5050e8",
68+
new BigDecimal("10"),
69+
"KES",
70+
"stefan.wexler@hotmail.eu",
71+
"25454709929220",
72+
"Yolande Aglaé Colbert");
73+
74+
zambiaMobileMoneyRequest = new ZambiaMobileMoneyRequestRequest("MC-158523s09v5050e8",
75+
new BigDecimal("150"),
76+
"UGX",
77+
"143256743",
78+
"MTN",
79+
"stefan.wexler@hotmail.eu",
80+
"054709929220",
81+
"Yolande Aglaé Colbert",
82+
"154.123.220.1",
83+
"62wd23423rq324323qew1",
84+
Optional.empty());
85+
86+
87+
}
88+
89+
@Test
90+
void runMpesaTransaction() {
91+
Assertions.assertEquals("success", new MobileMoney().runMpesaTransaction(mpesaRequest).getStatus());
92+
}
93+
94+
@Test
95+
void runGhanaMobileMoneyTransaction() {
96+
Assertions.assertEquals("success", new MobileMoney().runGhanaMobileMoneyTransaction(ghanaMobileMoneyRequest).getStatus());
97+
}
98+
99+
@Test
100+
void runUgandaMobileMoneyTransaction() {
101+
Assertions.assertEquals("success", new MobileMoney().runUgandaMobileMoneyTransaction(ugandaMobileMoneyRequest).getStatus());
102+
}
103+
104+
@Test
105+
void runFrancophoneMobileMoneyTransaction() {
106+
Assertions.assertEquals("success", new MobileMoney().runFrancophoneMobileMoneyTransaction(francophoneMobileMoneyRequest).getStatus());
107+
}
108+
109+
@Test
110+
void runRwandaMobileMoneyTransaction() {
111+
Assertions.assertEquals("success", new MobileMoney().runRwandaMobileMoneyTransaction(rwandaMobileMoneyRequest).getStatus());
112+
}
113+
114+
@Test
115+
void runZambiaMobileMoneyTransaction() {
116+
Assertions.assertEquals("success", new MobileMoney().runZambiaMobileMoneyTransaction(zambiaMobileMoneyRequest).getStatus());
117+
}
118+
}

0 commit comments

Comments
 (0)