You need to sign in to do that
Don't have an account?
Revati Bhavsar
Test class for before insert,before update trigger
Hello,
Below is my trigger which runs before insert before update.Can anyone help me in writing a test class for it?
trigger appTrigger on Applicant__c (before insert,before update){
public CustBusinessPro__Criteria__c Criteria {get;set;}
public List < CustBusinessPro__Criteria__c > criteriaList {get;set;}
boolean status;
CustBusinessPro__Applicant__c app1;
boolean outerBreak = false;
String test;
criteriaList=new LIST<CustBusinessPro__Criteria__c>([SELECT Id,Name,CustBusinessPro__Operations__c,CustBusinessPro__Where_Clause__c,CustBusinessPro__Loan_Type__c FROM CustBusinessPro__Criteria__c] );
for(CustBusinessPro__Criteria__c cd: criteriaList){
if(outerBreak) break;
for(CustBusinessPro__Applicant__c app:Trigger.new){
if(app.CustBusinessPro__Type_of_Loan__c==cd.CustBusinessPro__Loan_Type__c)
{
// System.debug('>>>>>>>>>>>>>>>>>'+ cd.CustBusinessPro__Where_Clause__c);
test=cd.CustBusinessPro__Where_Clause__c;
test=test.replaceAll('AND','&&');
test=test.replaceAll('OR','||');
test=test.replaceAll('CustBusinessPro__Age__c',String.valueOf(app.CustBusinessPro__Age__c));
test=test.replaceAll('CustBusinessPro__Gender__c ','\'' + app.CustBusinessPro__Gender__c + '\'');
test=test.replaceAll('CustBusinessPro__Country__c','\'' + app.CustBusinessPro__Country__c + '\'');
test=test.replaceAll('CustBusinessPro__City__c','\'' + app.CustBusinessPro__City__c + '\'');
test=test.replaceAll('CustBusinessPro__Salary__c',String.valueOf(app.CustBusinessPro__Salary__c));
test=test.replaceAll('CustBusinessPro__Marital_Status__c','\'' + app.CustBusinessPro__Marital_Status__c + '\'');
Boolean b=EvaluateString.evaluateStringToBoolean(test);
System.debug('>>>>>>>>>>>>>>>>> string is'+ test+'---------------bValue'+b);
if(b)
{
Boolean result1,result2,result3,result6;
Boolean flag=true;
Decimal result4,result5;
System.debug('Criteria satisfied'+cd);
System.debug('operations----'+cd.CustBusinessPro__Operations__c);
String[] operations=cd.CustBusinessPro__Operations__c.split(',');
System.debug('splitted operations>>>>'+operations);
for(String str:operations)
{
if(str == 'PAN_Check')
{ system.debug('inside pan');
PAN_Check pan = new PAN_Check();
result1=pan.PanCheck(app.CustBusinessPro__PAN__c,app.CustBusinessPro__Last_Name__c);
system.debug('>>>>>>>>returned value resultPan'+result1);
if(result1==false)
{flag=false;
break;}
}
else if(str == 'De_Dup')
{
system.debug('inside de_dup');
De_Dup d = new De_Dup();
result2=d.DeDup(app.CustBusinessPro__PAN__c,app.CustBusinessPro__Type_of_Loan__c);
system.debug('>>>>>>>>returned value resultDeDUP'+result2);
if(result2==false)
{flag=false;
break;}
}
else if(str == 'CIBIL Verification')
{
system.debug('inside cibil');
CIBILVerification cibil=new CIBILVerification();
result3=cibil.CIBILCheck(app.CustBusinessPro__CIBIL_Score__c);
system.debug('>>>>>>>>returned value resultCibil'+result3);
if(result3==false)
{flag=false;
break;}
}
else if(str == 'Eligibility Verification')
{
system.debug('inside eligibilty');
EligibilityVerification elig=new EligibilityVerification();
result4=elig.EligibilityCheck(app.CustBusinessPro__Salary__c,app.CustBusinessPro__Type_of_Loan__c,app.CustBusinessPro__Loan_Amount__c);
system.debug('>>>>>>>>returned value resultElig'+result4);
}
else if(str == 'EMI Verification')
{
system.debug('inside EMI');
EMI_Calculation emi = new EMI_Calculation();
result5= emi.EMICalculation(app.CustBusinessPro__Loan_Amount__c,app.CustBusinessPro__Loan_Tenure__c);
system.debug('>>>>>>>>returned value resultEMI'+result5);
}
else if(str == 'NegativeAreaCheck')
{
system.debug('inside NAC');
NegativeAreaCheck NAC = new NegativeAreaCheck();
result6=NAC.PincodeCheck(app.CustBusinessPro__Postal_Code__c);
system.debug('>>>>>>>>returned value resultNAC'+result6);
if(result6==false)
{flag=false;
break;}
}
}
//app1 = [Select CustBusinessPro__Sucess_Msg__c from CustBusinessPro__Applicant__c where id=: app.id];
if(flag==false)
{ System.debug('-----operations terminated');
// app.addError('The loan could not be granted!');
app.CustBusinessPro__Sucess_Msg__c = 'Fail';
status=false;
outerBreak = true;
break;
}
if(flag==true)
app.CustBusinessPro__Sucess_Msg__c = 'Pass';
}
else
{
System.debug('Criteria not satisfied');
// app.addError('The loan could not be granted.');
app.CustBusinessPro__Sucess_Msg__c = 'Fail';
status=false;
}
}
else{ break;}
}
}
if(outerbreak){
status=false;
system.debug('-----all out');
}
else{
status=true;
}
}
Thanks in advance!!
Below is my trigger which runs before insert before update.Can anyone help me in writing a test class for it?
trigger appTrigger on Applicant__c (before insert,before update){
public CustBusinessPro__Criteria__c Criteria {get;set;}
public List < CustBusinessPro__Criteria__c > criteriaList {get;set;}
boolean status;
CustBusinessPro__Applicant__c app1;
boolean outerBreak = false;
String test;
criteriaList=new LIST<CustBusinessPro__Criteria__c>([SELECT Id,Name,CustBusinessPro__Operations__c,CustBusinessPro__Where_Clause__c,CustBusinessPro__Loan_Type__c FROM CustBusinessPro__Criteria__c] );
for(CustBusinessPro__Criteria__c cd: criteriaList){
if(outerBreak) break;
for(CustBusinessPro__Applicant__c app:Trigger.new){
if(app.CustBusinessPro__Type_of_Loan__c==cd.CustBusinessPro__Loan_Type__c)
{
// System.debug('>>>>>>>>>>>>>>>>>'+ cd.CustBusinessPro__Where_Clause__c);
test=cd.CustBusinessPro__Where_Clause__c;
test=test.replaceAll('AND','&&');
test=test.replaceAll('OR','||');
test=test.replaceAll('CustBusinessPro__Age__c',String.valueOf(app.CustBusinessPro__Age__c));
test=test.replaceAll('CustBusinessPro__Gender__c ','\'' + app.CustBusinessPro__Gender__c + '\'');
test=test.replaceAll('CustBusinessPro__Country__c','\'' + app.CustBusinessPro__Country__c + '\'');
test=test.replaceAll('CustBusinessPro__City__c','\'' + app.CustBusinessPro__City__c + '\'');
test=test.replaceAll('CustBusinessPro__Salary__c',String.valueOf(app.CustBusinessPro__Salary__c));
test=test.replaceAll('CustBusinessPro__Marital_Status__c','\'' + app.CustBusinessPro__Marital_Status__c + '\'');
Boolean b=EvaluateString.evaluateStringToBoolean(test);
System.debug('>>>>>>>>>>>>>>>>> string is'+ test+'---------------bValue'+b);
if(b)
{
Boolean result1,result2,result3,result6;
Boolean flag=true;
Decimal result4,result5;
System.debug('Criteria satisfied'+cd);
System.debug('operations----'+cd.CustBusinessPro__Operations__c);
String[] operations=cd.CustBusinessPro__Operations__c.split(',');
System.debug('splitted operations>>>>'+operations);
for(String str:operations)
{
if(str == 'PAN_Check')
{ system.debug('inside pan');
PAN_Check pan = new PAN_Check();
result1=pan.PanCheck(app.CustBusinessPro__PAN__c,app.CustBusinessPro__Last_Name__c);
system.debug('>>>>>>>>returned value resultPan'+result1);
if(result1==false)
{flag=false;
break;}
}
else if(str == 'De_Dup')
{
system.debug('inside de_dup');
De_Dup d = new De_Dup();
result2=d.DeDup(app.CustBusinessPro__PAN__c,app.CustBusinessPro__Type_of_Loan__c);
system.debug('>>>>>>>>returned value resultDeDUP'+result2);
if(result2==false)
{flag=false;
break;}
}
else if(str == 'CIBIL Verification')
{
system.debug('inside cibil');
CIBILVerification cibil=new CIBILVerification();
result3=cibil.CIBILCheck(app.CustBusinessPro__CIBIL_Score__c);
system.debug('>>>>>>>>returned value resultCibil'+result3);
if(result3==false)
{flag=false;
break;}
}
else if(str == 'Eligibility Verification')
{
system.debug('inside eligibilty');
EligibilityVerification elig=new EligibilityVerification();
result4=elig.EligibilityCheck(app.CustBusinessPro__Salary__c,app.CustBusinessPro__Type_of_Loan__c,app.CustBusinessPro__Loan_Amount__c);
system.debug('>>>>>>>>returned value resultElig'+result4);
}
else if(str == 'EMI Verification')
{
system.debug('inside EMI');
EMI_Calculation emi = new EMI_Calculation();
result5= emi.EMICalculation(app.CustBusinessPro__Loan_Amount__c,app.CustBusinessPro__Loan_Tenure__c);
system.debug('>>>>>>>>returned value resultEMI'+result5);
}
else if(str == 'NegativeAreaCheck')
{
system.debug('inside NAC');
NegativeAreaCheck NAC = new NegativeAreaCheck();
result6=NAC.PincodeCheck(app.CustBusinessPro__Postal_Code__c);
system.debug('>>>>>>>>returned value resultNAC'+result6);
if(result6==false)
{flag=false;
break;}
}
}
//app1 = [Select CustBusinessPro__Sucess_Msg__c from CustBusinessPro__Applicant__c where id=: app.id];
if(flag==false)
{ System.debug('-----operations terminated');
// app.addError('The loan could not be granted!');
app.CustBusinessPro__Sucess_Msg__c = 'Fail';
status=false;
outerBreak = true;
break;
}
if(flag==true)
app.CustBusinessPro__Sucess_Msg__c = 'Pass';
}
else
{
System.debug('Criteria not satisfied');
// app.addError('The loan could not be granted.');
app.CustBusinessPro__Sucess_Msg__c = 'Fail';
status=false;
}
}
else{ break;}
}
}
if(outerbreak){
status=false;
system.debug('-----all out');
}
else{
status=true;
}
}
Thanks in advance!!
------------
Thanks,
Srinivas
- Please mark as solution if your problem is resolved.