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
Krutarth SoniKrutarth Soni 

Help me out to Cover Trigger

Please Help me out to cover Trigger to achieve 100 % Code Coverage.

Trigger:
 
trigger FireEmailWithEmailTemplate on Email_Template__c (after insert) {
    
    set <id> RuleID = new set<Id> ();
    for (Email_Template__c e : trigger.new)
    {
        RuleID.add(e.GDPR_Rule__c);
    }
    
    List<Contact> con = [SELECT FirstName, LastName, Email FROM Contact WHERE Id IN (SELECT Contact__c FROM Assigned_Communication_Rule__c WHERE OptinCommunicationMethod__c IN : RuleID )];
    
	for (contact c : con)
    {
        for (Email_Template__c em : trigger.new)
        {
            Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();                   
            mail.setToAddresses(new String[] {c.Email}); 
            mail.setSubject(em.Subject__c); 
            mail.setUseSignature(false);
            mail.setHtmlBody('Hello'+ c.FirstName+' ' + c.LastName+', <br><br> '+em.Email_Body__c+ ' <br> Regards, <br><br> Admin Team'); 
            Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });  
        }
    }
}

Test Class
 
@isTest
public class Test_FireEmailWithEmailTemplate {
    
    static testMethod void EmailTemplate1()
    {
      
        Contact c = new Contact ();
        c.LastName = 'test';
        c.FirstName = 'test';
        c.Email = 'test@test.com';
        insert c;
        
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();                   
        mail.setToAddresses(new String[] {c.Email}); 
        mail.setSubject(em.Subject__c); 
        mail.setUseSignature(false);
        mail.setHtmlBody('Hello'+ c.FirstName+' ' + c.LastName);
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });  
        
    }
    
    
}

 
@@@we@@@@@@we@@@
Insert Value  also  your  Custom object
Can you Share Screen Shot How much  code coverage  ?
Krutarth SoniKrutarth Soni
Thanks for replay!

Here is the screenshot
User-added image
@@@we@@@@@@we@@@
Insert  your Custom object  Email Templete _ c 
ANd Custom object  lookup contact field  put   
em.YOur lookupfield =c.ID;
Krutarth SoniKrutarth Soni
I already tried but still, code coverage is not increasing.

Thanks,
 
Akshay_DhimanAkshay_Dhiman
Hi Krutarth Soni,
 
@isTest
public class Test_FireEmailWithEmailTemplate {
    
    static testMethod void EmailTemplate1()
    {
  Email_Template__c  temp = new Email_Template__c ();
  // Add All mandetrory feilds
  temp.Name='';
  temp.GDPR_Rule__c = // Here give the Id 
  insert temp;
        Contact c = new Contact ();
        c.LastName = 'test';
        c.FirstName = 'test';
        c.Email = 'test@test.com';
        insert c;
  Assigned_Communication_Rule__c obj = new Assigned_Communication_Rule__c();
  // Add All mandetrory feilds
  obj.Name='Test Obj'; 
  obj.Contact__c=c.Id;
  insert obj;

        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();                   
        mail.setToAddresses(new String[] {c.Email}); 
        mail.setSubject(em.Subject__c); 
        mail.setUseSignature(false);
        mail.setHtmlBody('Hello'+ c.FirstName+' ' + c.LastName);
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });  
        
    }
    
    
}


if you found this answer helpful then please mark it as best answer so it can help others.   
  
  Thanks 
  Akshay
Krutarth SoniKrutarth Soni
@Akshay

I have tried your code with all the mandatory fields but still, my code coverage is not increasing.

This is not covered yet.
for (contact c : con)
    {
        for (Email_Template__c em : trigger.new)
        {
            Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();                   
            mail.setToAddresses(new String[] {c.Email}); 
            mail.setSubject(em.Subject__c); 
            mail.setUseSignature(false);
            mail.setHtmlBody('Hello'+ c.FirstName+' ' + c.LastName+', <br><br> '+em.Email_Body__c+ ' <br> Regards, <br><br> Admin Team'); 
            Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });  
        }
    }

Thanks