You need to sign in to do that
Don't have an account?
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;
}
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
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;
}
}
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>
}
}