You need to sign in to do that
Don't have an account?
NLT
please help with writing test class for below apex class on user object in salesforce
public class UserRoleSegment {
public static void UserRoleUpdate(List<User> lstUsers) {
set<ID> lstNames = new set<ID>();
for(User u:lstUsers){
lstNames.add(u.userRoleId);
}
Map<Id,USERRole> userRoleMap= new Map<Id,USERRole>([SELECT Id,name from USERRole WHERE name like 'Team Rep%' and Id in:lstNames]);
for(User u:lstUsers){
if(userRoleMap.containskey(u.userroleID)){
if (u.Segment__c == 'Major Accounts')
{
u.Quota_Funnel_Health__c = 30;
u.SSO_Objective__c = 1;
u.Target_Appointments_Set__c = 5;
u.Target_Appointments_Attended__c = 5;
}
else if (u.Segment__c == 'Govt Support')
{
u.Quota_Funnel_Health__c = 30;
u.SSO_Objective__c = 2;
u.Target_Appointments_Set__c = 4;
u.Target_Appointments_Attended__c = 4;
}
else
{
u.Quota_Funnel_Health__c = 25;
u.SSO_Objective__c = 2;
u.Target_Appointments_Set__c = 10;
u.Target_Appointments_Attended__c = 10;
}
}
}
}
}
public static void UserRoleUpdate(List<User> lstUsers) {
set<ID> lstNames = new set<ID>();
for(User u:lstUsers){
lstNames.add(u.userRoleId);
}
Map<Id,USERRole> userRoleMap= new Map<Id,USERRole>([SELECT Id,name from USERRole WHERE name like 'Team Rep%' and Id in:lstNames]);
for(User u:lstUsers){
if(userRoleMap.containskey(u.userroleID)){
if (u.Segment__c == 'Major Accounts')
{
u.Quota_Funnel_Health__c = 30;
u.SSO_Objective__c = 1;
u.Target_Appointments_Set__c = 5;
u.Target_Appointments_Attended__c = 5;
}
else if (u.Segment__c == 'Govt Support')
{
u.Quota_Funnel_Health__c = 30;
u.SSO_Objective__c = 2;
u.Target_Appointments_Set__c = 4;
u.Target_Appointments_Attended__c = 4;
}
else
{
u.Quota_Funnel_Health__c = 25;
u.SSO_Objective__c = 2;
u.Target_Appointments_Set__c = 10;
u.Target_Appointments_Attended__c = 10;
}
}
}
}
}
Let me know if this helps :)
Thanks!
Amit