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
Ramana123Ramana123 

Can you help in this test class for sending email please

How to cover that email sending in salesforce ...?



apex class 

public class NewWrapperClass {
    public List<wrapperTask> wrapperTaskList {get;set;}
   // public List<Challenge__c> existingRecords {get;set;}
    public List<challenge__c> selectedRecords {get;set;}
    public List<challenge__c> selectedRecords1 {get;set;}

    public NewWrapperClass()    
    {
         wrapperTaskList = new List<wrapperTask>();
     //   existingRecords = [SELECT Phone__c, Name,OwnerId FROM Challenge__c WHERE Account__c = NULL];
        
        for(Challenge__c c : [SELECT Name,Phone__c,OwnerId,Account__c FROM Challenge__c WHERE Account__c = NULL]) 
          {
             wrapperTaskList.add(new wrapperTask(c));
          }
   }
    public void processedRecords() 
        {
            selectedRecords = new List<challenge__c>();
            selectedRecords1 = new List<challenge__c>();
            for (wrapperTask obj : wrapperTaskList)
                {
                    if(obj.selected == true) 
                        {
                         obj.chg.Account__c = ApexPages.currentPage().getParameters().get('id');
                         selectedRecords.add(obj.chg);

                         }
                   // selectedRecords.add(obj.chg);
                }            
    update selectedRecords;         
 //existingRecords = [SELECT Phone__c, Name,OwnerId FROM Challenge__c WHERE Account__c =: ApexPages.currentPage().getParameters().get('id')];

}
public void sendEmail()
    
   {
        String subject='Test Subject';
        String body='Test Body';
       List<Messaging.SingleEmailMessage> listmails = new List<Messaging.SingleEmailMessage>();
        for(Account acc :[SELECT Owner.Email FROM Account WHERE Id=:ApexPages.currentPage().getParameters().get('id')])
            
        {
            Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
            List<String> sendTo = new List<String>();
            sendTo.add(acc.Owner.Email );
            email.setToAddresses(sendTo);
            email.setSubject(subject);
            email.setPlainTextBody(body);
            listMails.add(email);
        }
            Messaging.sendEmail(listMails);
        
         ApexPages.addmessage(new ApexPages.message(ApexPages.severity.CONFIRM,'Mail has been sent Successfully'));  
    }
public class wrapperTask 
{
    public challenge__c chg {get;set;}
    public Boolean selected {get;set;}
    public wrapperTask(challenge__c c) 
    {
    chg = c;
    selected=false;
    }
}

}


test class 
@isTest
Private Class NewWrapperClass_Test
{
      static Testmethod void WrapperExampleUnitTest()
    {
         challenge__c Acc= new challenge__c();
        Acc.name='TestAccount';
        Acc.Account__c =NULL;
        insert Acc;

        challenge__c Acc1= new challenge__c();
            Acc1.name='TestAccount1';
           insert Acc1;        
        Test.StartTest();
            NewWrapperClass obj = new NewWrapperClass();
            
            for(NewWrapperClass.wrapperTask wrp : obj.wrapperTaskList )
            {
                wrp.selected = true;
            }
            obj.processedRecords();
          obj.sendEmail();
      Test.StopTest();

    }
}


Thanks in advance

 
AbhishekAbhishek (Salesforce Developers) 
"Developer Support (which encompasses custom code, authentication, and integration issues) is available to customers and partners with Premier Success Plans. If you wish to upgrade to Premier Support please contact your Account Executive.
If you’re looking for help with Apex or Visualforce Code, or with your API integration, please check out our Premier and Partner Success Plans.
For Premier Success Plans, please visit: https://www.salesforce.com/services/success-plans/overview/premier-success-plans/
For Partner Success Plans with limited or unlimited Developer Support, please visit:  http://www.salesforce.com/assets/pdf/datasheets/DS_PartnerSupport.pdf"