You need to sign in to do that
Don't have an account?
SalesforceCrm AccountCRM
How to call the Lead conversion in a test class
Can any one help me out.How to call the Lead conversion in a test class?The test code coverage value is showing less.In our org we have a trigger written and the test class,but the code coverage value is displaying only 41% .Any suggestion please.
Trigger :
Trigger :
public class CampaignMemberFunctions { public static void UpdateNewToEnterpriseDB(CampaignMember cm, Lead ld) { if(ld.CreatedDate.addHours(6) > DateTime.Now()) cm.New_to_EnterpriseDB__c = true; } public static Boolean SyncStatus(CampaignMember cm, Lead ld, Contact ct, Map<String, CMStatusSettings__c> statusmap) { Boolean result = true; String newvalue; if(ct!= null) { if(statusmap.containsKey(cm.Response_Status__c)) { newvalue = statusmap.get(cm.Response_Status__c).StatusMapping__c; if(newvalue == ct.Status__c) { result = false; } else { ct.Status__c = newvalue; } } else if(cm.Response_Status__c == 'Disqualified' || cm.Response_Status__c == 'Qualified - New Opportunity' || cm.Response_Status__c == 'Closed - Converted' ) { newvalue = 'Closed - ' + ct.Account.Customer_Status__c + ' Account'; if(ct.Status__c == newvalue) { result = false; } else { ct.Status__c = newvalue; } if(cm.Response_Status__c == 'Disqualified') { // Set nuture time on disqualified status Date newtimeout = Date.today().addDays((CMScoreEngine__c.getInstance('Default').NurtureTimeoutDays__c).intValue()); if(ct.Admin_Nurture_Timeout__c != newtimeout || ct.Lead_Score__c !=0 || ct.Campaign_Score__c !=0) result = true; ct.Admin_Nurture_Timeout__c = newtimeout; ct.Lead_Score__c = 0; ct.Campaign_Score__c = 0; // Probably aren't using this one } } else { result = false; } } else if(ld!=null) { if(statusmap.containsKey(cm.Response_Status__c)) { newvalue = statusmap.get(cm.Response_Status__c).StatusMapping__c; if(newvalue==ld.Status) { result = false; } else { ld.Status = newvalue; } } else if(cm.Response_Status__c == 'Disqualified') { if(ld.Status=='Disqualified' && ld.Disqaulified_Reason__c == cm.Disqualified_Reason__c) { result = false; } else { ld.Status = 'Disqualified'; ld.Disqaulified_Reason__c = cm.Disqualified_Reason__c; System.Debug('Disqualified reason being set to: ' + cm.Disqualified_Reason__c); } } else { result = false; } } return(result); } // Search through the converted leads, opportunities and campaignmembers to sync if necessary public static void SyncAfterConversion(Map<Id,Lead> convertedleads, Map<Id, Opportunity>convertedops, Map<Id, CampaignMember> possiblecms) { for(Lead ld: convertedleads.values()) { // Grab the campaign member - this must be correct by original query CampaignMember cm = new CampaignMember(); System.debug('@@@@@possiblecms.get(ld.admin_CMSourceId__c)'+possiblecms.get(ld.admin_CMSourceId__c)); cm = possiblecms.get(ld.admin_CMSourceId__c); System.debug('@@@@@cm '+cm ); if(cm!=null) { // We know this lead is converted. Let's get the opportunity. if(ld.ConvertedOpportunityId != null) { Opportunity opp = convertedops.get(ld.ConvertedOpportunityId); opp.PMM_stage__c = cm.PMM_Stage__c; opp.Product_Interest__c = cm.Product_Interest__c; opp.Buyer__c = cm.Buyer__c; opp.New_to_EnterpriseDB__c = cm.New_to_EnterpriseDB__c; opp.Problem_to_Solve__c = cm.Problem_to_Solve__c; opp.Any_OSS_in_current_stack__c = cm.Any_OSS_in_current_stack__c; opp.Total_of_Databases_in_your_Org__c = cm.Total_of_Databases_in_your_Org__c; opp.Primary_Database__c = cm.Primary_Database__c; opp.of_Postgres_Database_Servers__c = cm.of_Postgres_Database_Servers__c; opp.Just_learning_about_EnterpriseDB__c = cm.Just_learning_about_EnterpriseDB__c; opp.Project_Requires_a_Net_New_DB__c = cm.Project_Requires_a_Net_New_DB__c; opp.Timeframe_To_Production__c = cm.Timeframe_To_Production__c; opp.Budget__c = cm.Budget__c; opp.User__c = cm.User__c; opp.Champion__c = cm.Champion__c; opp.Decision_Maker__c = cm.Decision_Maker__c; cm.Response_Status__c = 'Qualified - New Opportunity'; cm.Opportunity_Name__c = opp.Id; cm.Opportunity_Create_Date__c = Date.Today(); } else { if(cm.lead.status!=null) { cm.Response_Status__c = cm.lead.status; } } cm.admin_IsConverted__c = true; } } } public static void EmailErrorMessage(String message) { Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.setToAddresses(new String[] {'edbnotify@bearcavern.com', 'roanbear@gmail.com'}); mail.setSenderDisplayName('APEX notifier'); mail.setSubject('SFDC/Eloqua Data Creation Error'); mail.setPlainTextBody(message); List<Messaging.SendEmailResult> results = Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail }); for(Messaging.SendEmailResult r: results) { System.debug('Result of Email sent ' + r.isSuccess()); if(!r.isSuccess()) { for(Messaging.SendEmailError sme: r.getErrors()) { for(String s: sme.getFields()) System.Debug('Error for field ' + s ); System.Debug('Error message ' + sme.getMessage()); System.Debug('StatusCode ' + sme.getStatusCode()); }}}}}Test Class Written :
@isTest(seealldata=true) Public class TestCampaignMemberFunctions { //Checking for if Condition value Response_Status__c= Disqualified Public static testMethod void TestCreationDate() { Lead ld2 = [select ID, CreatedDate, IsConverted from LEAD where CreatedDate < :DateTime.Now().addHours(-7) and IsConverted=False LIMIT 1]; Campaign cam = new Campaign(Name='campname'); insert cam; Account a = new Account(); a.Name ='My Company'; Insert a; Lead ld = new Lead(); ld.Company='colead1'; ld.LastName ='colead1_'+String.valueOf(System.now()); ld.status= 'Disqualified'; ld.admin_CMSourceId__c= cam.Id; ld.Disqaulified_Reason__c='Disqualified'; insert ld; Contact con = new Contact(LastName ='Test'); Insert con; Test.StartTest(); CampaignMember mc1 = new CampaignMember(CampaignId = cam.Id,Product_Interest__c='Services',Response_Status__c='Disqualified',status= 'Junk',PMM_Stage__c='Learns of Postgres', LeadId=ld.Id); CampaignMember mc2 = new CampaignMember(CampaignId = cam.Id, LeadId=ld2.Id); insert mc1; insert mc2; Opportunity opp =new Opportunity(); opp.Product_Interest__c='Services'; opp.PMM_stage__c ='Deployment'; opp.Buyer__c = 'xyz'; opp.New_to_EnterpriseDB__c =True; opp.Problem_to_Solve__c ='Performance' ; opp.Any_OSS_in_current_stack__c ='OS' ; opp.Total_of_Databases_in_your_Org__c ='500'; opp.Primary_Database__c =mc1.Primary_Database__c; opp.of_Postgres_Database_Servers__c = mc1.of_Postgres_Database_Servers__c; opp.Just_learning_about_EnterpriseDB__c = mc1.Just_learning_about_EnterpriseDB__c; opp.Project_Requires_a_Net_New_DB__c = mc1.Project_Requires_a_Net_New_DB__c; opp.Timeframe_To_Production__c = mc1.Timeframe_To_Production__c; opp.Budget__c = mc1.Budget__c; opp.User__c = mc1.User__c; opp.Champion__c = mc1.Champion__c; opp.Decision_Maker__c =mc1.Decision_Maker__c; opp.Name='Testing'; opp.StageName='Closed Lost'; opp.CloseDate=System.today(); Insert opp; CampaignMember mc1res = [Select Id, New_to_EnterpriseDB__c,Response_Status__c from CampaignMember where Id = :mc1.id ]; CampaignMember mc2res = [Select Id, New_to_EnterpriseDB__c from CampaignMember where Id = :mc2.id ]; System.assert(mc1res.New_to_EnterpriseDB__c); System.assert(! mc2res.New_to_EnterpriseDB__c); Map<String, CMStatusSettings__c> statusmap = new Map<String, CMStatusSettings__c>(); // statusmap.put(mc1res.Response_Status__c, custSetting); Map<Id,Lead> convertedleads = new Map<Id,Lead>(); convertedleads.put(ld.Id,ld); Map<Id, Opportunity> convertedops= new Map<Id, Opportunity>(); convertedops.put(opp.Id,opp); Map<Id, CampaignMember> possiblecms= new Map<Id, CampaignMember>(); possiblecms.put(mc1.Id,mc1); CampaignMemberFunctions cmf = new CampaignMemberFunctions(); CampaignMemberFunctions.SyncStatus( mc1res,ld,con,statusmap); System.debug('@@@@@convertedleads'+convertedleads); System.debug('@@@@@possiblecms'+possiblecms); System.debug('@@@@@convertedops'+convertedops); CampaignMemberFunctions.SyncAfterConversion(convertedleads,convertedops,possiblecms); CampaignMemberFunctions.EmailErrorMessage('testmessage'); Test.StopTest(); } //Checking for if Condition value Response_Status__c= Qualified - New Opportunity Public static testMethod void TestCreationDate1() { Lead ld2 = [select ID, CreatedDate, IsConverted from LEAD where CreatedDate < :DateTime.Now().addHours(-7) and IsConverted=False LIMIT 1]; Campaign cam = new Campaign(Name='campname'); insert cam; Account a = new Account(); a.Name ='My Company'; Insert a; Lead ld = new Lead(); ld.Company='colead1'; ld.LastName ='colead1_'+String.valueOf(System.now()); ld.status= 'Qualified - New Opportunity'; ld.admin_CMSourceId__c= cam.Id; ld.Disqaulified_Reason__c='Qualified - New Opportunity'; insert ld; Contact con = new Contact(LastName ='Test'); Insert con; Test.StartTest(); CampaignMember mc1 = new CampaignMember(CampaignId = cam.Id,Product_Interest__c='Services',Response_Status__c='Qualified - New Opportunity',status= 'Junk', LeadId=ld.Id); CampaignMember mc2 = new CampaignMember(CampaignId = cam.Id, LeadId=ld2.Id); insert mc1; insert mc2; Opportunity opp =new Opportunity(); opp.Product_Interest__c=mc1.Product_Interest__c; opp.PMM_stage__c = mc1.PMM_Stage__c; opp.Buyer__c = mc1.Buyer__c; opp.New_to_EnterpriseDB__c =mc1.New_to_EnterpriseDB__c; opp.Problem_to_Solve__c = mc1.Problem_to_Solve__c; opp.Any_OSS_in_current_stack__c = mc1.Any_OSS_in_current_stack__c; opp.Total_of_Databases_in_your_Org__c = mc1.Total_of_Databases_in_your_Org__c; opp.Primary_Database__c =mc1.Primary_Database__c; opp.of_Postgres_Database_Servers__c = mc1.of_Postgres_Database_Servers__c; opp.Just_learning_about_EnterpriseDB__c = mc1.Just_learning_about_EnterpriseDB__c; opp.Project_Requires_a_Net_New_DB__c = mc1.Project_Requires_a_Net_New_DB__c; opp.Timeframe_To_Production__c = mc1.Timeframe_To_Production__c; opp.Budget__c = mc1.Budget__c; opp.User__c = mc1.User__c; opp.Champion__c = mc1.Champion__c; opp.Decision_Maker__c =mc1.Decision_Maker__c; opp.Name='Testing'; opp.StageName='Closed Lost'; opp.CloseDate=System.today(); Insert opp; CampaignMember mc1res = [Select Id, New_to_EnterpriseDB__c,Response_Status__c from CampaignMember where Id = :mc1.id ]; CampaignMember mc2res = [Select Id, New_to_EnterpriseDB__c from CampaignMember where Id = :mc2.id ]; System.assert(mc1res.New_to_EnterpriseDB__c); System.assert(! mc2res.New_to_EnterpriseDB__c); Map<String, CMStatusSettings__c> statusmap = new Map<String, CMStatusSettings__c>(); //statusmap.put(mc1res.Response_Status__c, custSetting); Map<Id,Lead> convertedleads = new Map<Id,Lead>(); convertedleads.put(ld.Id,ld); Map<Id, Opportunity> convertedops= new Map<Id, Opportunity>(); convertedops.put(opp.Id,opp); Map<Id, CampaignMember> possiblecms= new Map<Id, CampaignMember>(); possiblecms.put(mc1.Id,mc1); CampaignMemberFunctions cmf = new CampaignMemberFunctions(); CampaignMemberFunctions.SyncStatus( mc1res,ld,con,statusmap); System.debug('@@@@@convertedleads'+convertedleads); System.debug('@@@@@possiblecms'+possiblecms); System.debug('@@@@@convertedops'+convertedops); CampaignMemberFunctions.SyncAfterConversion(convertedleads,convertedops,possiblecms); CampaignMemberFunctions.EmailErrorMessage('testmessage'); Test.StopTest(); } //Checking for if Condition value Response_Status__c= Closed - Converted Public static testMethod void TestCreationDate2() { Lead ld2 = [select ID, CreatedDate, IsConverted from LEAD where CreatedDate < :DateTime.Now().addHours(-7) and IsConverted=False LIMIT 1]; Campaign cam = new Campaign(Name='campname'); insert cam; Account a = new Account(); a.Name ='My Company'; Insert a; Lead ld = new Lead(); ld.Company='colead1'; ld.LastName ='colead1_'+String.valueOf(System.now()); ld.status= 'Closed - Converted'; ld.admin_CMSourceId__c= cam.Id; ld.Disqaulified_Reason__c='Closed - Converted'; insert ld; Contact con = new Contact(LastName ='Test'); Insert con; Test.StartTest(); CampaignMember mc1 = new CampaignMember(CampaignId = cam.Id,Product_Interest__c='Services',Response_Status__c='Closed - Converted',status= 'Closed - Converted', LeadId=ld.Id); CampaignMember mc2 = new CampaignMember(CampaignId = cam.Id, LeadId=ld2.Id); insert mc1; insert mc2; Opportunity opp =new Opportunity(); opp.Product_Interest__c=mc1.Product_Interest__c; opp.PMM_stage__c = mc1.PMM_Stage__c; opp.Buyer__c = mc1.Buyer__c; opp.New_to_EnterpriseDB__c =mc1.New_to_EnterpriseDB__c; opp.Problem_to_Solve__c = mc1.Problem_to_Solve__c; opp.Any_OSS_in_current_stack__c = mc1.Any_OSS_in_current_stack__c; opp.Total_of_Databases_in_your_Org__c = mc1.Total_of_Databases_in_your_Org__c; opp.Primary_Database__c =mc1.Primary_Database__c; opp.of_Postgres_Database_Servers__c = mc1.of_Postgres_Database_Servers__c; opp.Just_learning_about_EnterpriseDB__c = mc1.Just_learning_about_EnterpriseDB__c; opp.Project_Requires_a_Net_New_DB__c = mc1.Project_Requires_a_Net_New_DB__c; opp.Timeframe_To_Production__c = mc1.Timeframe_To_Production__c; opp.Budget__c = mc1.Budget__c; opp.User__c = mc1.User__c; opp.Champion__c = mc1.Champion__c; opp.Decision_Maker__c =mc1.Decision_Maker__c; opp.Name='Testing'; opp.StageName='Closed Lost'; opp.CloseDate=System.today(); Insert opp; CampaignMember mc1res = [Select Id, New_to_EnterpriseDB__c,Response_Status__c from CampaignMember where Id = :mc1.id ]; CampaignMember mc2res = [Select Id, New_to_EnterpriseDB__c from CampaignMember where Id = :mc2.id ]; System.assert(mc1res.New_to_EnterpriseDB__c); System.assert(! mc2res.New_to_EnterpriseDB__c); Map<String, CMStatusSettings__c> statusmap = new Map<String, CMStatusSettings__c>(); //statusmap.put(mc1res.Response_Status__c, custSetting); Map<Id,Lead> convertedleads = new Map<Id,Lead>(); convertedleads.put(ld.Id,ld); Map<Id, Opportunity> convertedops= new Map<Id, Opportunity>(); convertedops.put(opp.Id,opp); Map<Id, CampaignMember> possiblecms= new Map<Id, CampaignMember>(); possiblecms.put(mc1.Id,mc1); CampaignMemberFunctions cmf = new CampaignMemberFunctions(); CampaignMemberFunctions.SyncStatus( mc1res,ld,con,statusmap); System.debug('@@@@@convertedleads'+convertedleads); System.debug('@@@@@possiblecms'+possiblecms); System.debug('@@@@@convertedops'+convertedops); CampaignMemberFunctions.SyncAfterConversion(convertedleads,convertedops,possiblecms); CampaignMemberFunctions.EmailErrorMessage('testmessage'); Test.StopTest(); } //Checking for if Condition value CMStatusSettings__c Public static testMethod void TestCreationDate3() { Lead ld2 = [select ID, CreatedDate, IsConverted from LEAD where CreatedDate < :DateTime.Now().addHours(-7) and IsConverted=False LIMIT 1]; Campaign cam = new Campaign(Name='campname'); insert cam; Account a = new Account(); a.Name ='My Company'; Insert a; Lead ld = new Lead(); ld.Company='colead1'; ld.LastName ='colead1_'+String.valueOf(System.now()); ld.status= 'newvalue'; ld.admin_CMSourceId__c= cam.Id; ld.Disqaulified_Reason__c='Junk'; ld.ConvertedOpportunityId=ld.Id; insert ld; Contact con = new Contact(LastName ='Test'); Insert con; Test.StartTest(); CampaignMember mc1 = new CampaignMember(CampaignId = cam.Id,Product_Interest__c='Services',Response_Status__c='Disqualified',status= 'Junk',PMM_Stage__c='Learns of Postgres', LeadId=ld.Id); CampaignMember mc2 = new CampaignMember(CampaignId = cam.Id, LeadId=ld2.Id); insert mc1; insert mc2; Opportunity opp =new Opportunity(); opp.Product_Interest__c=mc1.Product_Interest__c; opp.PMM_stage__c = mc1.PMM_Stage__c; opp.Buyer__c = mc1.Buyer__c; opp.New_to_EnterpriseDB__c =mc1.New_to_EnterpriseDB__c; opp.Problem_to_Solve__c = mc1.Problem_to_Solve__c; opp.Any_OSS_in_current_stack__c = mc1.Any_OSS_in_current_stack__c; opp.Total_of_Databases_in_your_Org__c = mc1.Total_of_Databases_in_your_Org__c; opp.Primary_Database__c =mc1.Primary_Database__c; opp.of_Postgres_Database_Servers__c = mc1.of_Postgres_Database_Servers__c; opp.Just_learning_about_EnterpriseDB__c = mc1.Just_learning_about_EnterpriseDB__c; opp.Project_Requires_a_Net_New_DB__c = mc1.Project_Requires_a_Net_New_DB__c; opp.Timeframe_To_Production__c = mc1.Timeframe_To_Production__c; opp.Budget__c = mc1.Budget__c; opp.User__c = mc1.User__c; opp.Champion__c = mc1.Champion__c; opp.Decision_Maker__c =mc1.Decision_Maker__c; opp.Name='Testing'; opp.StageName='Closed Lost'; opp.CloseDate=System.today(); Insert opp; CampaignMember mc1res = [Select Id, New_to_EnterpriseDB__c,Response_Status__c from CampaignMember where Id = :mc1.id ]; CampaignMember mc2res = [Select Id, New_to_EnterpriseDB__c from CampaignMember where Id = :mc2.id ]; System.assert(mc1res.New_to_EnterpriseDB__c); System.assert(! mc2res.New_to_EnterpriseDB__c); CMStatusSettings__c custSetting =new CMStatusSettings__c(); custSetting.Name= 'Test'; insert custSetting; // statusmap.put(mc1res.Response_Status__c, custSetting); Map<String, CMStatusSettings__c> statusmap = new Map<String, CMStatusSettings__c>(); statusmap.put(mc1res.Response_Status__c, custSetting); Map<Id,Lead> convertedleads = new Map<Id,Lead>(); convertedleads.put(ld.Id,ld); Map<Id, Opportunity> convertedops= new Map<Id, Opportunity>(); convertedops.put(opp.Id,opp); Map<Id, CampaignMember> possiblecms= new Map<Id, CampaignMember>(); possiblecms.put(mc1.Id,mc1); CampaignMemberFunctions cmf = new CampaignMemberFunctions(); CampaignMemberFunctions.SyncStatus( mc1res,ld,con,statusmap); System.debug('@@@@@convertedleads'+convertedleads); System.debug('@@@@@possiblecms'+possiblecms); System.debug('@@@@@convertedops'+convertedops); CampaignMemberFunctions.SyncAfterConversion(convertedleads,convertedops,possiblecms); CampaignMemberFunctions.EmailErrorMessage('testmessage'); Test.StopTest(); } //Checking for if Condition value LeadConvertion. Public static testMethod void TestCreationDate4() { Lead ld2 = [select ID, CreatedDate, IsConverted from LEAD where CreatedDate < :DateTime.Now().addHours(-7) and IsConverted=False LIMIT 1]; Campaign cam = new Campaign(Name='campname'); insert cam; Account a = new Account(); a.Name ='My Company'; Insert a; Lead ld = new Lead(); ld.Company='colead1'; ld.LastName ='colead1_'+String.valueOf(System.now()); // ld.status= ' Qualified - Legacy'; ld.admin_CMSourceId__c= cam.Id; ld.Disqaulified_Reason__c='Junk'; ld.ConvertedOpportunityId=ld.Id; insert ld; Contact con = new Contact(LastName ='Test'); Insert con; Test.StartTest(); CampaignMember mc1 = new CampaignMember(CampaignId = cam.Id,Product_Interest__c='Services',Response_Status__c='Disqualified',status= 'Junk',PMM_Stage__c='Learns of Postgres', LeadId=ld.Id); CampaignMember mc2 = new CampaignMember(CampaignId = cam.Id, LeadId=ld2.Id); insert mc1; insert mc2; Opportunity opp =new Opportunity(); opp.Product_Interest__c=mc1.Product_Interest__c; opp.PMM_stage__c = mc1.PMM_Stage__c; opp.Buyer__c = mc1.Buyer__c; opp.New_to_EnterpriseDB__c =mc1.New_to_EnterpriseDB__c; opp.Problem_to_Solve__c = mc1.Problem_to_Solve__c; opp.Any_OSS_in_current_stack__c = mc1.Any_OSS_in_current_stack__c; opp.Total_of_Databases_in_your_Org__c = mc1.Total_of_Databases_in_your_Org__c; opp.Primary_Database__c =mc1.Primary_Database__c; opp.of_Postgres_Database_Servers__c = mc1.of_Postgres_Database_Servers__c; opp.Just_learning_about_EnterpriseDB__c = mc1.Just_learning_about_EnterpriseDB__c; opp.Project_Requires_a_Net_New_DB__c = mc1.Project_Requires_a_Net_New_DB__c; opp.Timeframe_To_Production__c = mc1.Timeframe_To_Production__c; opp.Budget__c = mc1.Budget__c; opp.User__c = mc1.User__c; opp.Champion__c = mc1.Champion__c; opp.Decision_Maker__c =mc1.Decision_Maker__c; opp.Name='Testing'; opp.StageName='Closed Lost'; opp.CloseDate=System.today(); Insert opp; CampaignMember mc1res = [Select Id, New_to_EnterpriseDB__c,Response_Status__c from CampaignMember where Id = :mc1.id ]; CampaignMember mc2res = [Select Id, New_to_EnterpriseDB__c from CampaignMember where Id = :mc2.id ]; System.assert(mc1res.New_to_EnterpriseDB__c); System.assert(! mc2res.New_to_EnterpriseDB__c); Map<String, CMStatusSettings__c> statusmap = new Map<String, CMStatusSettings__c>(); // statusmap.put(mc1res.Response_Status__c, custSetting); Map<Id,Lead> convertedleads = new Map<Id,Lead>(); // START Convert the Lead into Test Class Database.LeadConvert lc = new Database.LeadConvert(); lc.setLeadId(ld.Id); lc.setOpportunityName('Testing'); LeadStatus convertStatus = [SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted=true LIMIT 1]; lc.setConvertedStatus(convertStatus.MasterLabel); Database.LeadConvertResult lcr = Database.convertLead(lc); System.assert(lcr.isSuccess()); convertedleads.put(ld.Id,ld); //convertedleads.put(ld.Id,ld); Map<Id, Opportunity> convertedops= new Map<Id, Opportunity>(); convertedops.put(opp.Id,opp); Map<Id, CampaignMember> possiblecms= new Map<Id, CampaignMember>(); possiblecms.put(mc1.Id,mc1); CampaignMemberFunctions cmf = new CampaignMemberFunctions(); CampaignMemberFunctions.SyncStatus( mc1res,ld,con,statusmap); System.debug('@@@@@convertedleads'+convertedleads); System.debug('@@@@@possiblecms'+possiblecms); System.debug('@@@@@convertedops'+convertedops); CampaignMemberFunctions.SyncAfterConversion(convertedleads,convertedops,possiblecms); CampaignMemberFunctions.EmailErrorMessage('testmessage'); Test.StopTest(); } }The System throws an Error when i use Lead Convert.
The method is getting failed when i use the lead conversion.Im not setting the values manually,the system is throwing the error System.DmlException: ConvertLead failed. First exception on row 0; first error: INVALID_STATUS, invalid convertedStatus: QualifiedLegacy[Status], Class.TestCampaignMemberFunctions.TestCreationDate4: line 392, column 1,the line is Database.LeadConvertResult lcr = Database.convertLead(lc);The opportunity fields are not getting covered.Any help very much appreciated.
When i just Query in Developer console :
SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted=true LIMIT 1
it gives the output with the Id and Master Label value as "Qualified -Legacy"
When Checked for the Status field in the lead , there are few picklist value which are converted such as Qualified - Legacy ,Qualified- New Opportunity ,Qualified - Ecommerce Opportunity etc
Any help very much appreciated.
When i Query in DC Any help very much appreciated.
PFA ScreenShot.
Add the "Qualified" and the "Closed-Converted' and check the Converted Checkbox for both of them.
Any help very much appreciated.
Make sure the Picklist Label matched. In line 165.
Now the System gives the value. But when i run the test class ,the system throws an Error as : for the test method TestCreationDate4() rest of the methods gets pass.Any help very much appreciated.
Change it to
Hope it will resolve your issue
If comment the above line ,then the method gets passed .
Any help very much appreciated.
What is this code, man?
Check the ld.status field please in all your test methods. And make sure they are exactly same as Lead Status Picklist Values.
Lead are converted from which states?
When you convert leads, Salesforce creates new accounts, contacts, and, opportunities using information from the leads you’re converting.
Salesforce moves any campaign members to the new contacts, and the leads become read-only records. If existing accounts and contacts
share the same names as those specified on the leads, you can choose to update the existing accounts and contacts. Salesforce adds
information from the lead into empty fields; Salesforce does not overwrite existing account and contact data.
All open and closed activities from the leads are attached to the accounts, contacts, and opportunities. You can assign the owner of the
records, and schedule follow-up tasks. When you assign new owners, only the open activities are assigned to the new owner. If you have
custom lead fields, that information can be inserted into custom account, contact, or opportunity fields. You can’t view converted leads,
but they appear in lead reports. Salesforce updates the Last Modified Date and Last Modified By system fields on
converted leads when picklist values included on converted leads are changed.
Trigger : Test Class : Any help very much appreciated.
Now the system throws the error for this class.It fails for two methods and the error thrown are
1)TestCreationDate()
The line #77 :System.assert(mc1res.New_to_EnterpriseDB__c); 2)TestCreationDate4() The line #396 : Database.LeadConvertResult lcr = Database.convertLead(lc);
Any help very much appreciated.