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
donsu04donsu04 

Coverage Code Help

Hi - I am relatively new to APEX and i have just created my first apex trigger. Now the problem is i do not know how to write an apex class trigger to test the new lead created. Can anyone please share their thoughts. 

 

Any help will be really really appreciated

 

Thanks 

 

Jeff 

 

Here is the trigger i wrote

 

 

trigger CreateRefLead on Lead (after insert) {


List<Lead> leads = new List<Lead> ();

for(Lead l:Trigger.new)
{

if(l.Referred_Email_1__c!=null && l.Referred_First_Name_1__c!=null && l.Referred_Last_Name_1__c!=null )
{
Lead l1 = new Lead();
l1.lastName = l.Referred_Last_Name_1__c;
l1.Referrer_Lead__c = l.id;
l1.FirstName = l.Referred_First_Name_1__c;
l1.Email = l.Referred_Email_1__c;
l1.Company = l.Company;
leads.add(l1);
}


if(l.Referred_Email_2__c!=null && l.Referred_First_Name_2__c!=null && l.Referred_Last_Name_2__c!=null )
{
Lead l2 = new Lead();
l2.lastName = l.Referred_Last_Name_2__c;
l2.Referrer_Lead__c = l.id;
l2.FirstName = l.Referred_First_Name_2__c;
l2.Email = l.Referred_Email_2__c;
l2.Company = l.Company;
leads.add(l2);
}

if(l.Referred_Email_3__c!=null && l.Referred_First_Name_3__c!=null && l.Referred_Last_Name_3__c!=null )
{
Lead l3 = new Lead();
l3.lastName = l.Referred_Last_Name_3__c;
l3.Referrer_Lead__c = l.id;
l3.FirstName = l.Referred_First_Name_3__c;
l3.Email = l.Referred_Email_3__c;
l3.Company = l.Company;
leads.add(l3);
}

if(l.Referred_Email_4__c!=null && l.Referred_First_Name_4__c!=null && l.Referred_Last_Name_4__c!=null )
{
Lead l4 = new Lead();
l4.lastName = l.Referred_Last_Name_4__c;
l4.Referrer_Lead__c = l.id;
l4.FirstName = l.Referred_First_Name_4__c;
l4.Email = l.Referred_Email_4__c;
l4.Company = l.Company;
leads.add(l4);
}

if(l.Referred_Email_5__c!=null && l.Referred_First_Name_5__c!=null && l.Referred_Last_Name_5__c!=null )
{
Lead l5 = new Lead();
l5.lastName = l.Referred_Last_Name_5__c;
l5.Referrer_Lead__c = l.id;
l5.FirstName = l.Referred_First_Name_5__c;
l5.Email = l.Referred_Email_5__c;
l5.Company = l.Company;
leads.add(l5);
}

if(l.Referred_Email_6__c!=null && l.Referred_First_Name_6__c!=null && l.Referred_Last_Name_6__c!=null )
{
Lead l6 = new Lead();
l6.lastName = l.Referred_Last_Name_6__c;
l6.Referrer_Lead__c = l.id;
l6.FirstName = l.Referred_First_Name_6__c;
l6.Email = l.Referred_Email_6__c;
l6.Company = l.Company;
leads.add(l6);
}




} insert leads;



}

Best Answer chosen by Admin (Salesforce Developers) 
alex_from_75015alex_from_75015

Hi

Just create an apex class with following definition and insert lead with value according to your test

 

@isTest
private class test_Lead {
static testMethod void test_Lead() {
date myDate =date.newInstance(2010, 12, 1);
Lead lead1 = new Lead(Status = 'non qualified', webform_source__c='Training - Booking', LastName='Test', Date_training__c=myDate);
insert lead1;

}

}

All Answers

alex_from_75015alex_from_75015

Hi

Just create an apex class with following definition and insert lead with value according to your test

 

@isTest
private class test_Lead {
static testMethod void test_Lead() {
date myDate =date.newInstance(2010, 12, 1);
Lead lead1 = new Lead(Status = 'non qualified', webform_source__c='Training - Booking', LastName='Test', Date_training__c=myDate);
insert lead1;

}

}

This was selected as the best answer
Vinit_KumarVinit_Kumar

Agreed with Alex you need to insert lead records as per below example and also you have to make sure that all your if conditions are tested while inserting records i.e. you need to insert diff test records for diff if conditions.

 

@isTest
private class test_Lead {
static testMethod void test_Lead() {
Lead lead1 = new Lead(Status = 'non qualified', webform_source__c='Training - Booking', LastName='Test', Date_training__c=system.today());
insert lead1;

 

<Insert more test records depending on your if conditions here>

}

}