DeathGun44 commented on code in PR #6084:
URL: https://github.com/apache/fineract/pull/6084#discussion_r3525733742
##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanTransactionChargebackTest.java:
##########
@@ -77,176 +72,144 @@
import org.junit.jupiter.params.provider.MethodSource;
@Slf4j
-public class LoanTransactionChargebackTest extends BaseLoanIntegrationTest {
-
- private ResponseSpecification responseSpec;
- private ResponseSpecification responseSpecErr400;
- private ResponseSpecification responseSpecErr403;
- private ResponseSpecification responseSpecErr503;
- private RequestSpecification requestSpec;
- private LoanTransactionHelper loanTransactionHelper;
- private JournalEntryHelper journalEntryHelper;
- private AccountHelper accountHelper;
+public class LoanTransactionChargebackTest extends FeignLoanTestBase {
+
private final String amountVal = "1000";
private LocalDate todaysDate;
private String operationDate;
private static Long clientId;
@BeforeEach
public void setup() {
- Utils.initializeRESTAssured();
- this.requestSpec = new
RequestSpecBuilder().setContentType(ContentType.JSON).build();
- this.requestSpec.header("Authorization", "Basic " +
Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey());
- this.responseSpec = new
ResponseSpecBuilder().expectStatusCode(200).build();
- this.responseSpecErr400 = new
ResponseSpecBuilder().expectStatusCode(400).build();
- this.responseSpecErr403 = new
ResponseSpecBuilder().expectStatusCode(403).build();
- this.responseSpecErr503 = new
ResponseSpecBuilder().expectStatusCode(503).build();
- this.loanTransactionHelper = new
LoanTransactionHelper(this.requestSpec, this.responseSpec);
- this.journalEntryHelper = new JournalEntryHelper(requestSpec,
responseSpec);
- this.accountHelper = new AccountHelper(requestSpec, responseSpec);
- PostClientsResponse client = new ClientHelper(requestSpec,
responseSpec).createClient(ClientHelper.defaultClientCreationRequest());
- clientId = client.getResourceId();
-
+ clientId = createClient("01 January 2012");
this.todaysDate = Utils.getLocalDateOfTenant();
this.operationDate = Utils.dateFormatter.format(this.todaysDate);
}
@ParameterizedTest
@MethodSource("loanProductFactory")
- public void applyLoanTransactionChargeback(LoanProductTestBuilder
loanProductTestBuilder) {
+ public void applyLoanTransactionChargeback(String strategyCode, boolean
advancedAllocation) {
// Client and Loan account creation
- final Integer loanId = createAccounts(15, 1, true,
loanProductTestBuilder);
+ final Long loanId = createAccounts(15, 1, true, strategyCode,
advancedAllocation);
- GetLoansLoanIdResponse getLoansLoanIdResponse =
loanTransactionHelper.getLoan(requestSpec, responseSpec, loanId);
+ GetLoansLoanIdResponse getLoansLoanIdResponse = getLoanDetails(loanId);
assertNotNull(getLoansLoanIdResponse);
- loanTransactionHelper.printRepaymentSchedule(getLoansLoanIdResponse);
-
Float amount = Float.valueOf(amountVal);
- PostLoansLoanIdTransactionsResponse loanIdTransactionsResponse =
loanTransactionHelper.makeLoanRepayment(operationDate, amount,
- loanId);
+ PostLoansLoanIdTransactionsResponse loanIdTransactionsResponse =
makeLoanRepayment(loanId, "Repayment", operationDate,
+ amount.doubleValue());
assertNotNull(loanIdTransactionsResponse);
final Long transactionId = loanIdTransactionsResponse.getResourceId();
assertNotNull(transactionId);
- getLoansLoanIdResponse = loanTransactionHelper.getLoan(requestSpec,
responseSpec, loanId);
+ getLoansLoanIdResponse = getLoanDetails(loanId);
assertNotNull(getLoansLoanIdResponse);
- loanTransactionHelper.validateLoanStatus(getLoansLoanIdResponse,
"loanStatusType.closed.obligations.met");
+ validateLoanStatus(getLoansLoanIdResponse,
"loanStatusType.closed.obligations.met");
reviewLoanTransactionRelations(loanId, transactionId, 0,
Double.valueOf("0.00"));
- final Long chargebackTransactionId =
loanTransactionHelper.applyChargebackTransaction(loanId, transactionId,
"1000.00", 0,
- responseSpec);
+ final Long chargebackTransactionId =
applyChargebackTransaction(loanId, transactionId, "1000.00", 0);
reviewLoanTransactionRelations(loanId, transactionId, 1,
Double.valueOf("0.00"));
reviewLoanTransactionRelations(loanId, chargebackTransactionId, 0,
Double.valueOf("1000.00"));
- getLoansLoanIdResponse = loanTransactionHelper.getLoan(requestSpec,
responseSpec, loanId);
+ getLoansLoanIdResponse = getLoanDetails(loanId);
assertNotNull(getLoansLoanIdResponse);
- loanTransactionHelper.validateLoanStatus(getLoansLoanIdResponse,
"loanStatusType.active");
+ validateLoanStatus(getLoansLoanIdResponse, "loanStatusType.active");
-
loanTransactionHelper.validateLoanPrincipalOustandingBalance(getLoansLoanIdResponse,
amount.doubleValue());
+ validateLoanPrincipalOustandingBalance(getLoansLoanIdResponse,
amount.doubleValue());
verifyTRJournalEntries(chargebackTransactionId, //
- credit(fundSource, 1000.0), //
- debit(loansReceivableAccount, 1000.0) //
+ credit(getAccounts().getFundSource(), 1000.0), //
+ debit(getAccounts().getLoansReceivableAccount(), 1000.0) //
);
// Try to reverse a Loan Transaction charge back
- PostLoansLoanIdTransactionsResponse reverseTransactionResponse =
loanTransactionHelper.reverseLoanTransaction(loanId,
- chargebackTransactionId, operationDate, responseSpecErr403);
+ assertThrows(CallFailedRuntimeException.class, () ->
reverseLoanTransaction(loanId, chargebackTransactionId, operationDate));
Review Comment:
Done!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]