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
ashu 6112ashu 6112 

test class help for coverage

I have to cover "sendEmailOnSubmission" method in my test class, please suggest how to cover this method.
class CableDealRequestTriggerHandler is handler class of a trigger.

public class CableDealRequestTriggerHandler{  
  //Method for sending Email to BA/DL 
    public void sendEmailOnSubmission(List<Cable_Deal_Request__c> cdrList,Map<id,Cable_Deal_Request__c> cdrOldMap,Map<Id,Deal_Request_Header__c> headerMap){
        
        try{
            
        //sending Email to BA/DL
        
        for(Cable_Deal_Request__c cdr : cdrList){
            system.debug('Cable Deal Request==>>>' + cdr);
            system.debug('If stateemnt==> ' + cdr.Cable_Deal_Status__c + '   ' + cdrOldMap.get(cdr.id).Cable_Deal_Status__c);
            if((cdr.Cable_Deal_Status__c == 'Submitted' || cdr.Cable_Deal_Status__c == 'Submitted to BA') && (cdrOldMap.get(cdr.id).Cable_Deal_Status__c=='Pending Finance Approval' || cdrOldMap.get(cdr.id).Cable_Deal_Status__c=='Open')){
                List<String>ccList = new List<String>();
                List<String>toList = new List<String>();
                system.debug('Enter after submitted');
                
                //toList.add(headerMap.get(cdr.Deal_Request_Header__c).user__r.email);
                
                if(headerMap.get(cdr.Deal_Request_Header__c).createdby.email != null)
                    ccList.add(headerMap.get(cdr.Deal_Request_Header__c).createdby.email);
                if(headerMap.get(cdr.Deal_Request_Header__c).Cable_Requested_By__r.email != null)
                    ccList.add(headerMap.get(cdr.Deal_Request_Header__c).Cable_Requested_By__r.email);
                for(Cable_Deal_Request_Creative_Executive__c cdre : headerMap.get(cdr.Deal_Request_Header__c).Cable_Deal_Request_Creative_Executives__r){
                    ccList.add(cdre.Creative_Executive__r.email);
                }
                
                if(cdr.Cable_Network_Platform__c.contains('Freeform')){
                    DisneyCableDls__c dsCable = DisneyCableDls__c.getInstance('Freeform DL');
                    toList.add(dsCable.DL_Email__c);

                }
                else{
                    DisneyCableDls__c dsCable = DisneyCableDls__c.getInstance('DCWW Dl');
                    toList.add(dsCable.DL_Email__c);
                }
                system.debug('List of reciepient==>> ' + ccList +'   ' + toList);
                
                contact tstCont = new Contact();
                tstCont.lastName='TEst';
                tstCont.email = 'test@test.com';
                insert tstCont;
                
                EmailTemplate templateId = [Select id from EmailTemplate where DeveloperName = 'Cable_Deal_Submitted_Email_Template' limit 1];
                
                List<Messaging.SingleEmailMessage> allmsg = new List<Messaging.SingleEmailMessage>();
                Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
                mail.setToAddresses(toList);
                mail.setTemplateID(templateId.Id); 
                mail.setccAddresses(ccList);
                mail.setTargetObjectId(tstCont.id);
                mail.setWhatId(cdr.id);
                mail.setSaveAsActivity(false);
                allmsg.add(mail);
                system.debug('Email Information ==>>' + mail);
                Messaging.sendEmail(allmsg); 
                delete tstCont;    
                
            }
        }
        }catch(Exception e){
            //string error = ExceptionLogger.createExceptionsRecord(e.getMessage(), 'CableDealRequestTriggerHandler', e.getStackTraceString());
            //throw new AuraHandledException(error);
           saveExceptionLogs(e.getMessage(),'CableDealRequestTriggerHandler',e.getStackTraceString());
        }
        
    }
}    
Lokeswara ReddyLokeswara Reddy
Hi,

As this controller is invoked from Trigger event, you just need to create test data that satisfies to trigger this method.
If you face isseus with test data creation, post your trigger code to see how you are invoking this method.

Regards
Lokesh