You need to sign in to do that
Don't have an account?

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;
}
}
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".