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
HTANIRSHTANIRS 

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
Edwin VijayEdwin Vijay
Make sure your test methods have opportunity records inserted or has access to all data
// All test methods in this class can access all data.
@isTest(SeeAllData=true)
public class TestDataAccessClass {