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
Adil Shaik (HYD)Adil Shaik (HYD) 

Test Class for Email Trigger alert

trigger AccountEmail on Account (before insert, before Update) {
    for(Account acc : trigger.new){
        List<user> lstuser = [Select id, email from user];
        Map<id, string> MapUserIdEmail = new Map<id, string>();
        if(Acc.adilshaik__Email_Status__c == 'Send Email' && acc.adilshaik__User__c != null){
            acc.adilshaik__Email_Status__c = 'Success';
       
                Messaging.SingleEmailMessage message  = new Messaging.SingleEmailMessage();
                List<string> toaddress = new List<string>();
                toAddress.add(MapUserIdEmail.get(acc.adilshaik__User__c));
                message.setSubject('Email Check');
                message.setToAddresses(toAddress);
                message.setHtmlBody('Body of the Message'); 
                Messaging.SingleEmailMessage[] messages = new List<Messaging.SingleEmailMessage> {message};
                    Messaging.SendEmailResult[] results = Messaging.sendEmail(messages);
                if (results[0].success) {
                    System.debug('The email was sent successfully.');
                    
                } else {
                    System.debug('The email failed to send: '
                                 + results[0].errors[0].message);
                }  
              
        }  
    }
}
======================================
Here is my Test Class
trigger AccountEmail on Account (before insert, before Update) {
    for(Account acc : trigger.new){
        List<user> lstuser = [Select id, email from user];
        Map<id, string> MapUserIdEmail = new Map<id, string>();
        if(Acc.adilshaik__Email_Status__c == 'Send Email' && acc.adilshaik__User__c != null){
            acc.adilshaik__Email_Status__c = 'Success';
       
                Messaging.SingleEmailMessage message  = new Messaging.SingleEmailMessage();
                List<string> toaddress = new List<string>();
                toAddress.add(MapUserIdEmail.get(acc.adilshaik__User__c));
                message.setSubject('Email Check');
                message.setToAddresses(toAddress);
                message.setHtmlBody('Body of the Message'); 
                Messaging.SingleEmailMessage[] messages = new List<Messaging.SingleEmailMessage> {message};
                    Messaging.SendEmailResult[] results = Messaging.sendEmail(messages);
                if (results[0].success) {
                    System.debug('The email was sent successfully.');
                    
                } else {
                    System.debug('The email failed to send: '
                                 + results[0].errors[0].message);
                }  
              
        }  
    }
}
AnkaiahAnkaiah (Salesforce Developers) 
Hi Adil,

Is your apex trigger working??

try with below test class
Public class AccountEmailTest {
    @isTest 
    Public static void AccountEmailmethod(){
	
	 Profile p;
    List<Profile> profileList = [SELECT id FROM profile where NAME like '%sys%'];
    if (profileList.size()>0) 
        p=profileList.get(0); 
    User u = new User(alias = 'kbra', email='kbrazi@noemail.com',
                            emailencodingkey='UTF-8', lastname='Testing', languagelocalekey='fr',
                            localesidkey='fr_FR_EURO', profileid = p.Id, country='France',
                            timezonesidkey='Europe/Paris', username='KBrazi@noemail.com',
                            IsActive = true);
    insert u; 
	
	  // Add if there is anyother required fields are in account creation
	     Account acc  = new Account();
		 acc.name = 'test';
		 acc.adilshaik__Email_Status__c = 'Send Email';
		 acc.adilshaik__User__c = u.id;
		 insert acc;

    } 
}

If this helps, Please mark it as best answer.

Thanks!!