You need to sign in to do that
Don't have an account?
Mohammed 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
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