You need to sign in to do that
Don't have an account?
PhoenixRising12
Writing a Test Class for Lead Conversion
I have a class to convert leads and I'm trying to write a test class for this so I can deploy to production, how should I approach this?
Global class AutoConvertLeads {
@InvocableMethod
public static void LeadAssign(List<Id> LeadIds){
List<String> lstNames = new List<String>();
for (User u : [SELECT Id FROM User WHERE Name = 'XXX' LIMIT 1]){
lstNames.add(u.Id);
}
String Id = lstNames[0];
Database.LeadConvert[] converts = new Database.LeadConvert[0];
LeadStatus convertedStatus = [SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted = TRUE LIMIT 1];
for(Lead record: [SELECT Id FROM Lead WHERE IsConverted = false LIMIT 1000]) {
Database.LeadConvert convert = new Database.LeadConvert();
convert.setLeadId(record.Id);
convert.setConvertedStatus(convertedStatus.MasterLabel);
convert.setOwnerId(XXX);
convert.setDoNotCreateOpportunity(TRUE);
converts.add(convert);
}
if(!converts.isEmpty()){
Database.convertLead(converts);
}
Integer listsize = converts.Size();
DateTime NOW = system.NOW();
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[] {''};
mail.setToAddresses(toAddresses);
mail.setSubject('Leads have been Converted, ' + NOW);
mail.setPlainTextBody('Dear Admins, ' + listsize + ' Lead(s) were just converted into Person Accounts');
Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});
}
}
Global class AutoConvertLeads {
@InvocableMethod
public static void LeadAssign(List<Id> LeadIds){
List<String> lstNames = new List<String>();
for (User u : [SELECT Id FROM User WHERE Name = 'XXX' LIMIT 1]){
lstNames.add(u.Id);
}
String Id = lstNames[0];
Database.LeadConvert[] converts = new Database.LeadConvert[0];
LeadStatus convertedStatus = [SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted = TRUE LIMIT 1];
for(Lead record: [SELECT Id FROM Lead WHERE IsConverted = false LIMIT 1000]) {
Database.LeadConvert convert = new Database.LeadConvert();
convert.setLeadId(record.Id);
convert.setConvertedStatus(convertedStatus.MasterLabel);
convert.setOwnerId(XXX);
convert.setDoNotCreateOpportunity(TRUE);
converts.add(convert);
}
if(!converts.isEmpty()){
Database.convertLead(converts);
}
Integer listsize = converts.Size();
DateTime NOW = system.NOW();
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[] {''};
mail.setToAddresses(toAddresses);
mail.setSubject('Leads have been Converted, ' + NOW);
mail.setPlainTextBody('Dear Admins, ' + listsize + ' Lead(s) were just converted into Person Accounts');
Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});
}
}
Try with below code. If this helps, Please mark it as best answer.
Thanks!!
All Answers
Try with below code. If this helps, Please mark it as best answer.
Thanks!!