function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Mohammed ArshadMohammed Arshad 

Help on Test code coverage

I am unable to cover this method in my test class. Can someone please help me out. 

Code: 

  public static CustomerPlans.repayments paymentDetails(List<Payment__c> payments) { 
    System.debug('Enter the Repayments Dragon');
    CustomerPlans.repayments  repayments = new CustomerPlans.repayments();
    List<CustomerPlans.repaymentDetails> transactionDetailsList = new List<CustomerPlans.repaymentDetails>();
    
     Id appId = ApexPages.currentPage().getParameters().get('id');
     Payment__c payment;
     try{
         payment = [select Application__r.Payment_Type__c from Payment__c where Application__r.id=:appId ];
     Integer i=0;
    do {
    for(Payment__c d: payments){
    Offer__c offer = [ select isOffer1_Active__c,isOffer2_Active__c from Offer__c ];
    CustomerPlans.repaymentDetails repaymentDetails = new CustomerPlans.repaymentDetails();
            repaymentDetails.repaymentMethod = d.Payment_Method_Code__c;
                    repaymentDetails.accountHolders = d.Account_Holders__c;
                    
                    if(d.Bank_Name__c!=null) {
                        repaymentDetails.bankName = d.Bank_Name__c;
                    }
                    if(d.Branch_Location__c!=null) {
                        repaymentDetails.branchLocation = d.Branch_Location__c;
                    }
                    if(d.Bank_Code__c!=null) {
                        repaymentDetails.bankCode = d.Bank_Code__c;
                    }
                    if(d.Account_Number__c!=null) {
                        repaymentDetails.accountNumber = d.Account_Number__c;
                    } 
                    
                     if(d.Bank_Number__c != null && d.Branch_Number__c != null){
                        repaymentDetails.bankCode = d.Bank_Number__c + d.Branch_Number__c;
                      }
                      if(d.Suf_Number__c != null){
                        repaymentDetails.suffix = d.Suf_Number__c;
                      }
                      repaymentDetails.repaymentFrequency = d.Frequency_Code__c;
                    
                    if(d.Higher_Amount__c!=null) {
                        repaymentDetails.higherAmount = d.Higher_Amount__c;
                    }
                    if(d.Start_Date__c!=null) {
                        repaymentDetails.startDate = d.Start_Date__c;
                    } else {
                        repaymentDetails.startDate = Date.Today();
                    }                 
                    if(d.Application__r.Brand_Country__c == 'US'){
                              if(d.Application__r.Payment_Type__c == 'Card' && i==1 && (offer.isOffer1_Active__c == true || offer.isOffer1_Active__c == false)){
                                   repaymentDetails.interestRate = 0.0;
                                   repaymentDetails.numberOfTransactions = Decimal.valueOf(Web_Service_Settings__c.getValues('No of Transactions').value__c);
                               }else if(offer.isOffer1_Active__c == true){
                                   repaymentDetails.interestRate = d.Application__r.Offered_Interest_Rate__c;
                                   repaymentDetails.numberOfTransactions = d.Application__r.Loan_Term_Months__c;
                               }else if(offer.isOffer1_Active__c == false){
                                   repaymentDetails.interestRate = d.Application__r.Offered_Interest_Rate__c;
                                   repaymentDetails.numberOfTransactions = d.Application__r.Loan_Term_Months__c;
                               }
                             } else if(d.Application__r.Brand_Country__c == 'CN'){
                             if(d.Application__r.Payment_Type__c == 'Card' && i==1 && offer.isOffer2_Active__c == true ){
                                   repaymentDetails.interestRate = 0.0;
                                   repaymentDetails.numberOfTransactions = Decimal.valueOf(Web_Service_Settings__c.getValues('No of Transactions').value__c);
                               }else if(offer.isOffer2_Active__c == true) {
                                  repaymentDetails.interestRate = d.Application__r.Offered_Interest_Rate__c;
                                  repaymentDetails.numberOfTransactions = d.Application__r.Loan_Term_Months__c;
                               }else if(offer.isOffer2_Active__c == false){
                                   repaymentDetails.interestRate = d.Application__r.Offered_Interest_Rate__c;
                                   repaymentDetails.numberOfTransactions = d.Application__r.Loan_Term_Months__c;
                               }
                               }
                    transactionDetailsList.add(repaymentDetails);
    
    }  
    i++;  
        system.debug('Before While'+i);
    }
    while(i<2 && payment.Application__r.Payment_Type__c == 'Card' );
    System.debug('After While'+i);
    }
     catch(System.QueryException e){
         System.debug('payment Record retrieval exception occured');
     }
     catch(System.NullPointerException e1){
         System.debug('Exception for Null pointer occured');
         System.debug('Product SubType Value' + payment.Application__r.Payment_Type__c);
    }
    system.debug('Repayment Details List ++++++++++++' + transactionDetailsList);
    

    repayments.repayment= transactionDetailsList;
   system.debug('Repayment RepaymentDetails Array +++++'+repayments.repayment);
    return repayments; 
    
    }
    //End of Method