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]

Reply via email to