You need to sign in to do that
Don't have an account?
HTANIRS
Scheduler Test Class not getting into for loop List. So i cannot deploy into Production due to code coverage.
Hi,
My scheduler is pass methods but it is not getting inside for loop in methods. So i am getting code coverage issue though methods are passed.
Please refer below code i am facing issue.
for(opportunity opportunities: opportunitylist){
List<String> accountManagerList = new List<String>();
List<pse__Proj__c> projectList = opportunities.pse__projects__r;
for(pse__Proj__c project : projectList){
String deliveryManagerEmail = project.Delivery_Manager__r.email;
String actManagerEmail = project.Account_Manager__r.email;
String projectManagerEmail = project.pse__Project_Manager__r.email;
accountManagerList.add(deliveryManagerEmail);
accountManagerList.add(actManagerEmail);
accountManagerList.add(projectManagerEmail);
projNameMangerMap.put( project.name, accountManagerList);
actmanagerMap.put(project.name, actManagerEmail);
promanagerMap.put(project.name, projectManagerEmail);
delmanagerMap.put(project.name, deliveryManagerEmail);
opportunityProjectMap.put(opportunities.name, project.name);
}
}
if ((StartDate.Day() == 1) && (StartDate.Day() == selectedDate.Day())) {
if(opportunityProjectMap!=null){
for(String opportunities: opportunityProjectMap.keySet()){
System.debug('opportunities : '+opportunities);
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mailSubject = 'ACTION REQUIRED :: '+ opportunities+' (HIGH PROBABILITY > 30 DAYS)';
String projectName = opportunityProjectMap.get(opportunities);
List<String> managerList = projNameMangerMap.get(projectName);
String actManagerName = actmanagerMap.get(projectName);
String projManagerEmail = promanagerMap.get(projectName);
String delManagerEmail = delmanagerMap.get(projectName);
sendCcTo.add('test@123.com');
sendBCcTo.add('test@234.com');
mail.setToAddresses(managerList);
String htmlBodyworkerCerts = 'Hi All '+ ', <br> <br>'
+' Your project '+ projectName + ' is High Probability and it has passed 30 days. <br><br>'
+' Account Manager Email : '+ actManagerName + '<br>'
+' Project Manager Email : '+ projManagerEmail + '<br>'
+' Delivery Manager Email : '+ delManagerEmail + '<br><br>';
htmlBodyworkerCerts = htmlBodyworkerCerts + ' <br>' +'-PSA Team <br>';
mail.setHtmlBody(htmlBodyworkerCerts);
mail.setToAddresses(sendTo);
mail.setToAddresses(sendCCTo);
mail.setToAddresses(sendBCCTo);
mail.setSubject(mailSubject);
mailList.add(mail);
}
}
}
Please do the Needful.
Regards,
Srinath
My scheduler is pass methods but it is not getting inside for loop in methods. So i am getting code coverage issue though methods are passed.
Please refer below code i am facing issue.
for(opportunity opportunities: opportunitylist){
List<String> accountManagerList = new List<String>();
List<pse__Proj__c> projectList = opportunities.pse__projects__r;
for(pse__Proj__c project : projectList){
String deliveryManagerEmail = project.Delivery_Manager__r.email;
String actManagerEmail = project.Account_Manager__r.email;
String projectManagerEmail = project.pse__Project_Manager__r.email;
accountManagerList.add(deliveryManagerEmail);
accountManagerList.add(actManagerEmail);
accountManagerList.add(projectManagerEmail);
projNameMangerMap.put( project.name, accountManagerList);
actmanagerMap.put(project.name, actManagerEmail);
promanagerMap.put(project.name, projectManagerEmail);
delmanagerMap.put(project.name, deliveryManagerEmail);
opportunityProjectMap.put(opportunities.name, project.name);
}
}
if ((StartDate.Day() == 1) && (StartDate.Day() == selectedDate.Day())) {
if(opportunityProjectMap!=null){
for(String opportunities: opportunityProjectMap.keySet()){
System.debug('opportunities : '+opportunities);
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mailSubject = 'ACTION REQUIRED :: '+ opportunities+' (HIGH PROBABILITY > 30 DAYS)';
String projectName = opportunityProjectMap.get(opportunities);
List<String> managerList = projNameMangerMap.get(projectName);
String actManagerName = actmanagerMap.get(projectName);
String projManagerEmail = promanagerMap.get(projectName);
String delManagerEmail = delmanagerMap.get(projectName);
sendCcTo.add('test@123.com');
sendBCcTo.add('test@234.com');
mail.setToAddresses(managerList);
String htmlBodyworkerCerts = 'Hi All '+ ', <br> <br>'
+' Your project '+ projectName + ' is High Probability and it has passed 30 days. <br><br>'
+' Account Manager Email : '+ actManagerName + '<br>'
+' Project Manager Email : '+ projManagerEmail + '<br>'
+' Delivery Manager Email : '+ delManagerEmail + '<br><br>';
htmlBodyworkerCerts = htmlBodyworkerCerts + ' <br>' +'-PSA Team <br>';
mail.setHtmlBody(htmlBodyworkerCerts);
mail.setToAddresses(sendTo);
mail.setToAddresses(sendCCTo);
mail.setToAddresses(sendBCCTo);
mail.setSubject(mailSubject);
mailList.add(mail);
}
}
}
Please do the Needful.
Regards,
Srinath
// All test methods in this class can access all data.
@isTest(SeeAllData=true)
public class TestDataAccessClass {