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
suji srinivasansuji srinivasan 

Hi, I need to achieve 100% test coverage for the following class.

class:
public class EmailToHR {         
    //@InvocableMethod
    public static list<Candiate__c> Candidates(){
        list<Candiate__c> CanList = new list<Candiate__c>();
        list<String> IntStatus = new string[] {'L1 Selected','Selected'};
            list<Candiate__c> SelectedCandidates =  [Select First_name__c, Interview_Status__c 
                                                     FROM Candiate__c
                                                     WHERE Interview_Status__c IN :IntStatus ];  
        for(Candiate__c can : SelectedCandidates){
            CanList.add(can);
        }
        return CanList;
    }  
    @InvocableMethod
    Public static void HREmail(){
        //list<IndividualEmail__c> em = IndividualEmail__c.getall().values();
        EmailTemplate tempId = [Select id, name, body,HTMLvalue From EmailTemplate Where name='EmailtoHR'];
        String emailBody = tempId.HTMLValue;
        integer NoCandidates = Candidates().size();
        emailbody = emailbody.replace('Selected_Candidates', string.valueof(NoCandidates));
        IndividualEmail__c InEmail = IndividualEmail__c.getInstance('VenolinTalent Acquisition Group');
        
        //IndividualEmail__c InEmail = IndividualEmail__c.getvalues('VenolinTalent Acquisition Group');
        system.debug(InEmail);
        string hrEmail = string.valueOf(InEmail.Email__c);
        //string hrEmail = InEmail.Email__c;
        if (hrEmail != Null){
            String[] toAddresses = new String[] {hrEmail,'hr@venolin.com'};
                Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
            mail.setTemplateID(tempId.id);
            mail.setToAddresses(toAddresses);
            mail.setSubject('selected candidates');
            mail.setPlainTextBody(NoCandidates + 'Candidates are selected');
            mail.setHtmlBody(emailbody);
            messaging.sendEmail(new Messaging.SingleEmailMessage [] {mail});           
        }
    }
}

testclass:
@isTest
public class TestEmailToHR {
    @isTest public static void testMail (){
         IndividualEmail__c cust = new IndividualEmail__c();
         cust.Email__c = 'sacgaze@gmail.com';
         cust.Name = 'VenolinTalent Acquisition Group';
         insert cust;
        Position__c pos2 = new Position__c();
            pos2.TechnicalSkils__c = 'Salesforce';
            pos2.YearsOfExperience__c = '1 Year';
            pos2.NumberOfPositions__c = 2;
            pos2.SkillSet__c = 'Sales Cloud';
            pos2.SubSetOfSkills__c = 'Admin';
            pos2.Role__c = 'Developer';
            //pos1.RelatedCandidate__c = canp.id;
            insert pos2;
       list<Candiate__c> Candidates = new list<Candiate__c>();
        for (integer i=0; i<5; i++){
            Candidates.add(new Candiate__c(First_Name__c = 'Nikhil',
                                           Last_Name__c = 'Rao',
                                           Mobile_No__c = '98773339402',
                                           Current_Employer__c = 'TCS',
                                           Current_Employment__c = 'permanent',
                                           CTC__c = 30000,    
                                           Position_Object__c = pos2.id,
                                           Status__c = 'Scheduled',
                                           Email_ID__c = 'test@gmail.com',
                                           Ready_for_Contract__c = 'Yes',
                                           Communication__c = '8',
                                           Hands_on_JD__c = '7',
                                           Knowledge__c     = '7',
                                           Expected_CTC__c = 40000,
                                           Interview_Status__c = 'L1 Selected'));
        }
        insert Candidates;
    }
    @isTest 
    static void testEmail(){
        Test.startTest();
        IndividualEmail__c cust = new IndividualEmail__c();
         cust.Email__c = 'sacgaze@gmail.com';
         cust.Name = 'VenolinTalent Acquisition Group';
         insert cust;
        EmailToHR.HREmail();
        Test.stopTest();
    }
}

thanks in advance