[FINERACT-1760] Client transaction by transaction external ID
This commit is contained in:
committed by
Arnold Gálovics
parent
a439952476
commit
8fa1c4571a
+16
-4
@@ -26,6 +26,7 @@ import io.restassured.builder.ResponseSpecBuilder;
|
||||
import io.restassured.http.ContentType;
|
||||
import io.restassured.specification.RequestSpecification;
|
||||
import io.restassured.specification.ResponseSpecification;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.UUID;
|
||||
import org.apache.fineract.client.models.GetClientsClientIdTransactionsResponse;
|
||||
import org.apache.fineract.client.models.GetClientsClientIdTransactionsTransactionIdResponse;
|
||||
@@ -68,6 +69,7 @@ public class ClientTransactionTest {
|
||||
final Integer clientChargeId1 = ClientHelper.addChargesForClient(requestSpec, responseSpec, clientId.intValue(),
|
||||
ClientHelper.getSpecifiedDueDateChargesClientAsJSON(chargeId.toString(), "29 October 2011"));
|
||||
Assertions.assertNotNull(clientChargeId1);
|
||||
String transactionExternalId = UUID.randomUUID().toString();
|
||||
final String clientChargePaidTransactionId1 = ClientHelper.payChargesForClients(requestSpec, responseSpec, clientId.intValue(),
|
||||
clientChargeId1, ClientHelper.getPayChargeJSON("25 AUGUST 2015", "10"));
|
||||
assertNotNull(clientChargePaidTransactionId1);
|
||||
@@ -75,9 +77,10 @@ public class ClientTransactionTest {
|
||||
final Integer clientChargeId2 = ClientHelper.addChargesForClient(requestSpec, responseSpec, clientId.intValue(),
|
||||
ClientHelper.getSpecifiedDueDateChargesClientAsJSON(chargeId.toString(), "29 October 2011"));
|
||||
Assertions.assertNotNull(clientChargeId2);
|
||||
final String clientChargePaidTransactionId2 = ClientHelper.payChargesForClients(requestSpec, responseSpec, clientId.intValue(),
|
||||
clientChargeId2, ClientHelper.getPayChargeJSON("25 AUGUST 2015", "10"));
|
||||
assertNotNull(clientChargePaidTransactionId2);
|
||||
final String clientChargePaidTransactionExternalId = ClientHelper.payChargesForClientsTransactionExternalId(requestSpec,
|
||||
responseSpec, clientId.intValue(), clientChargeId2,
|
||||
ClientHelper.getPayChargeJSONWithExternalId("25 AUGUST 2015", "12", transactionExternalId));
|
||||
assertNotNull(clientChargePaidTransactionExternalId);
|
||||
|
||||
GetClientsClientIdTransactionsResponse allClientTransactionsByExternalId = clientHelper
|
||||
.getAllClientTransactionsByExternalId(clientExternalId);
|
||||
@@ -87,8 +90,17 @@ public class ClientTransactionTest {
|
||||
.getClientTransactionByExternalId(clientExternalId, clientChargePaidTransactionId1);
|
||||
assertEquals(Integer.parseInt(clientChargePaidTransactionId1), clientTransactionByExternalId.getId());
|
||||
|
||||
GetClientsClientIdTransactionsTransactionIdResponse clientTransactionByTransactionExternalId = clientHelper
|
||||
.getClientTransactionByTransactionExternalId(clientId, clientChargePaidTransactionExternalId);
|
||||
assertNotNull(clientTransactionByTransactionExternalId);
|
||||
assertEquals(BigDecimal.valueOf(12), clientTransactionByTransactionExternalId.getAmount().stripTrailingZeros());
|
||||
|
||||
PostClientsClientIdTransactionsTransactionIdResponse undoTransactionResponse = clientHelper
|
||||
.undoClientTransactionByExternalId(clientExternalId, clientChargePaidTransactionId2);
|
||||
.undoClientTransactionByExternalId(clientExternalId, clientChargePaidTransactionId1);
|
||||
assertNotNull(undoTransactionResponse.getResourceId());
|
||||
|
||||
PostClientsClientIdTransactionsTransactionIdResponse undoTransactionResponse2 = clientHelper
|
||||
.undoClientTransactionByTransactionExternalId(clientId, clientChargePaidTransactionExternalId);
|
||||
assertNotNull(undoTransactionResponse2.getResourceId());
|
||||
}
|
||||
}
|
||||
|
||||
+33
-2
@@ -638,6 +638,18 @@ public class ClientHelper extends IntegrationTest {
|
||||
return json;
|
||||
}
|
||||
|
||||
public static String getPayChargeJSONWithExternalId(final String date, String amount, String externalId) {
|
||||
final HashMap<String, String> map = new HashMap<>();
|
||||
map.put("locale", "en_GB");
|
||||
map.put("dateFormat", Utils.DATE_FORMAT);
|
||||
map.put("transactionDate", date);
|
||||
map.put("amount", amount);
|
||||
map.put("externalId", externalId);
|
||||
String json = GSON.toJson(map);
|
||||
log.info("{}", json);
|
||||
return json;
|
||||
}
|
||||
|
||||
public static String getWaiveChargeJSON(final String amount, String clientChargeId) {
|
||||
final HashMap<String, String> map = new HashMap<>();
|
||||
map.put("locale", "en_GB");
|
||||
@@ -752,6 +764,15 @@ public class ClientHelper extends IntegrationTest {
|
||||
return response.get("transactionId") != null ? response.get("transactionId").toString() : null;
|
||||
}
|
||||
|
||||
public static String payChargesForClientsTransactionExternalId(final RequestSpecification requestSpec,
|
||||
final ResponseSpecification responseSpec, final Integer clientId, final Integer clientChargeId, final String json) {
|
||||
log.info("--------------------------------- PAY CHARGES FOR CLIENT --------------------------------");
|
||||
final String CHARGES_URL = "/fineract-provider/api/v1/clients/" + clientId + "/charges/" + clientChargeId + "?command=paycharge&"
|
||||
+ Utils.TENANT_IDENTIFIER;
|
||||
final HashMap<?, ?> response = Utils.performServerPost(requestSpec, responseSpec, CHARGES_URL, json, "");
|
||||
return response.get("subResourceExternalId") != null ? response.get("subResourceExternalId").toString() : null;
|
||||
}
|
||||
|
||||
public static String waiveChargesForClients(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
|
||||
final Integer clientId, final Integer clientChargeId, final String json) {
|
||||
log.info("--------------------------------- WAIVE CHARGES FOR CLIENT --------------------------------");
|
||||
@@ -795,12 +816,22 @@ public class ClientHelper extends IntegrationTest {
|
||||
|
||||
public GetClientsClientIdTransactionsTransactionIdResponse getClientTransactionByExternalId(final String externalId,
|
||||
final String transactionId) {
|
||||
return ok(fineract().clientTransactions.retrieveClientTransaction1(externalId, Long.parseLong(transactionId)));
|
||||
return ok(fineract().clientTransactions.retrieveClientTransaction2(externalId, Long.parseLong(transactionId)));
|
||||
}
|
||||
|
||||
public GetClientsClientIdTransactionsTransactionIdResponse getClientTransactionByTransactionExternalId(final Long clientId,
|
||||
final String transactionExternalId) {
|
||||
return ok(fineract().clientTransactions.retrieveClientTransaction1(clientId, transactionExternalId));
|
||||
}
|
||||
|
||||
public PostClientsClientIdTransactionsTransactionIdResponse undoClientTransactionByExternalId(final String externalId,
|
||||
final String transactionId) {
|
||||
return ok(fineract().clientTransactions.undoClientTransaction1(externalId, Long.parseLong(transactionId), "undo"));
|
||||
return ok(fineract().clientTransactions.undoClientTransaction2(externalId, Long.parseLong(transactionId), "undo"));
|
||||
}
|
||||
|
||||
public PostClientsClientIdTransactionsTransactionIdResponse undoClientTransactionByTransactionExternalId(final Long clientId,
|
||||
final String transactionExternalId) {
|
||||
return ok(fineract().clientTransactions.undoClientTransaction1(clientId, transactionExternalId, "undo"));
|
||||
}
|
||||
|
||||
public Workbook getClientEntityWorkbook(GlobalEntityType clientsEntity, String dateFormat) throws IOException {
|
||||
|
||||
Reference in New Issue
Block a user