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
sfdc9010sfdc9010 

Please help me in Writing the Test Class Urgent


public with sharing class EF_WorkItemStatus_EmailTemplate{

public Id efid{get; set;}
public Map<String, String>userdetailsmap{get;set;}
public EF_Request__c email_ef_req = new EF_Request__c();
public EF_Requested__c email_ef_req_res = new EF_Requested__c();
public Map<EF_Application_Form_Values__c, Boolean> oktatargetmap{get; set;}
public Map<Id,Map<String, EF_Application_Form_Values__c>>finalformlist = new Map<Id,Map<String, EF_Application_Form_Values__c>>();
public Boolean oldvalpresent{get; set;}
public List<EF_Application_Form_Values__c> ef_application_formlist = new List<EF_Application_Form_Values__c>();
public String targetlist{get;set;}

   
    public EF_WorkItemStatus_EmailTemplate()
    {
       
    }
    public EF_Requested__c getemail_ef_req_res()
    {
      try
      {
            email_ef_req_res = [Select Id, EFReq_User__r.Name, EF_Resource_Metadata__r.Name, Working_by__c, Work_Item_Status__c, EF_Request_ID__c from EF_Requested__c where Id=:efid];
            email_ef_req = [select id, OKTA_User_attributes__c, Submitted_By__r.Okta_Id__c, User_Name__r.Okta_Id__c, User_Name__r.ManagerId, User_Name__c, User_Name__r.Name, Submitted_By__c, Submitted_By__r.Name, Manager__c, Manager_ID__r.Name from EF_Request__c where Id=:email_ef_req_res.EF_Request_ID__c ];
      }catch(Exception e)
      {
            ApexPages.addMessages(e);
      }
        return email_ef_req_res;
    }
 
    public Map<String, String>getUserdetails()
    {
      EF_Requested__c email_ef_requested = [Select Id, EF_Request_ID__r.OKTA_User_attributes__c from EF_Requested__c where id=:efid];
        
        userdetailsmap = new Map<String, String>();
        try
        {
          String oktaid = email_ef_requested.EF_Request_ID__r.OKTA_User_attributes__c;
            if(oktaid != null && oktaid != '')
            {
                String test = oktaid.replaceAll('"','');
        String test1 = test.replace('{','');
        String test2 = test1.replace('}','');             
              List<String>strings = test2.split(',', 0);
             
              for(Integer i=0; i<strings.size(); i++)
              {
                List<String>s = strings[i].split(':',2);
                userdetailsmap.put(s[0], s[1]);
              }
            }
        }
        catch(Exception e)
        {
            ApexPages.addMessages(e);
        }
        if(userdetailsmap.containsKey('employeeType'))
        {
          if(userdetailsmap.get('employeeType')==null)
              userdetailsmap.put('employeeType','');
        }
        else
          userdetailsmap.put('employeeType','');
         
        if(userdetailsmap.containsKey('managerID'))
        {
          if(userdetailsmap.get('managerID')==null)
              userdetailsmap.put('managerID','');
        }
        else
          userdetailsmap.put('managerID','');
         
         if(userdetailsmap.containsKey('IDM_AD_MailStop'))
        {
          if(userdetailsmap.get('IDM_AD_MailStop')==null)
              userdetailsmap.put('IDM_AD_MailStop','');
        }
        else
          userdetailsmap.put('IDM_AD_MailStop','');
           
        if(userdetailsmap.containsKey('AGNLoginID'))
        {
          if(userdetailsmap.get('AGNLoginID')==null)
              userdetailsmap.put('AGNLoginID','');
        }
        else
          userdetailsmap.put('AGNLoginID','');
       
        if(userdetailsmap.containsKey('IDMCPID'))
        {
          if(userdetailsmap.get('IDMCPID')==null)
              userdetailsmap.put('IDMCPID','');
        }
        else
          userdetailsmap.put('IDMCPID','');
           
        if(userdetailsmap.containsKey('IDMCostCenter'))
        {
          if(userdetailsmap.get('IDMCostCenter')==null)
              userdetailsmap.put('IDMCostCenter','');
        }
        else
          userdetailsmap.put('IDMCostCenter','');
         
    if(userdetailsmap.containsKey('employeeID'))
        {
          if(userdetailsmap.get('employeeID')==null)
              userdetailsmap.put('employeeID','');
        }
        else
          userdetailsmap.put('employeeID','');
         
        if(userdetailsmap.containsKey('IDMSAPLogon'))
        {
          if(userdetailsmap.get('IDMSAPLogon')==null)
              userdetailsmap.put('IDMSAPLogon','');
        }
        else
          userdetailsmap.put('IDMSAPLogon','');

        if(userdetailsmap.containsKey('firstName'))
        {
          if(userdetailsmap.get('firstName')==null)
              userdetailsmap.put('firstName','');
        }
        else
          userdetailsmap.put('firstName','');
         
    if(userdetailsmap.containsKey('lastName'))
        {
          if(userdetailsmap.get('lastName')==null)
              userdetailsmap.put('lastName','');
        }
        else
          userdetailsmap.put('lastName','');
         
    if(userdetailsmap.containsKey('email'))
        {
          if(userdetailsmap.get('email')==null)
              userdetailsmap.put('email','');
        }
        else
          userdetailsmap.put('email','');

    if(userdetailsmap.containsKey('telephoneNumber'))
        {
          if(userdetailsmap.get('telephoneNumber')==null)
              userdetailsmap.put('telephoneNumber','');
        }
        else
          userdetailsmap.put('telephoneNumber','');
         
     if(userdetailsmap.containsKey('IDMSecureTokenSite'))
        {
          if(userdetailsmap.get('IDMSecureTokenSite')==null)
              userdetailsmap.put('IDMSecureTokenSite','');
        }
        else
          userdetailsmap.put('IDMSecureTokenSite','');
        return userdetailsmap;
    }
   
    public Map<String, EF_Application_Form_Values__c> getFinalformlist()
    {
        Map<String, EF_Application_Form_Values__c> formvaluesMap = new Map<String, EF_Application_Form_Values__c>();
        Map<String, EF_Application_Form_Values__c>criteria_fields = new Map<String, EF_Application_Form_Values__c>();
        List<EF_Decision_Criteria__c> efdeclist = new List<EF_Decision_Criteria__c>();
        EF_Application_Form_Values__c ef = new EF_Application_Form_Values__c();
        oktatargetmap = new Map<EF_Application_Form_Values__c, Boolean>();
        targetlist = '';
        Integer j=0;
        try
        {
            ef_application_formlist = [Select Id, Target_System_Translation__c, OKTA_Name__c, EF_Requested_Resource__r.EF_Request_ID__c, EF_Requested_Resource__r.EF_Resource_Metadata__r.Name, Form_Field_name__c, Form_Field_Old_Value__c, Form_Field_New_Value__c From EF_Application_Form_Values__c where EF_Requested_Resource__c=:efid and Form_Field_name__c != 'instructionRequired'];     
           
            //checking if old value and new value are different for oktaname 'role' and not displaying it
            for(EF_Application_Form_Values__c efa: ef_application_formlist)
            {
                oktatargetmap.put(efa, false);
            }
            for(Integer i=0; i<ef_application_formlist.size(); i++)
            {
                if(ef_application_formlist[i].EF_Requested_Resource__r.EF_Resource_Metadata__r.Name == 'CORAL' || ef_application_formlist[i].EF_Requested_Resource__r.EF_Resource_Metadata__r.Name=='BOXI')
                {
                    if(ef_application_formlist[i].Form_Field_New_Value__c!=ef_application_formlist[i].Form_Field_Old_Value__c && ef_application_formlist[i].OKTA_Name__c=='roles')
                    {
                        if(targetlist == '')
                            targetlist = ef_application_formlist[i].Target_System_Translation__c;
                        else
                            targetlist = targetlist+','+ef_application_formlist[i].Target_System_Translation__c;
                        if(j==1)                       
                            ef_application_formlist.remove(i);
                        else
                            ef = ef_application_formlist[i];
                        j=1;
                    }
                }
                //oktatargetmap.put(ef_application_formlist[i], false);
            }
            oktatargetmap.put(ef, true);
            oldvalpresent=false;       
            for(EF_Application_Form_Values__c efa: ef_application_formlist)
            {
                String s = efa.EF_Requested_Resource__r.EF_Resource_Metadata__r.Name+'_'+efa.Form_Field_name__c;
                if(efa.Form_Field_Old_Value__c != null && efa.Form_Field_Old_Value__c != '' && (efa.Form_Field_Old_Value__c != efa.Form_Field_New_Value__c))
                    oldvalpresent=true;
                criteria_fields.put(s.toLowerCase(), efa);
                s = null;  
            }
            efdeclist = [Select Criteria__c, Form_Field_Label__c from EF_Decision_Criteria__c where Criteria__c in:criteria_fields.keySet()];
            for(EF_Decision_Criteria__c e: efdeclist)
            {
                if(criteria_fields.containsKey(e.Criteria__c.toLowerCase()))
                {
                        formvaluesMap.put(e.Form_Field_Label__c, criteria_fields.get(e.Criteria__c.toLowerCase()));
                }
            }
        }catch(Exception e)
        {
            ApexPages.addMessages(e);
        }
        return formvaluesMap;
    }
}
bob_buzzardbob_buzzard
You are asking us to help you but you haven't provided details of how far you have got on your own.  If you haven't started your own class, a better title would be "Please write the test class for me".