Skip to main content

Hi,

 

I am not able to understand how can i write the test class for the following trigger. The functionality of the trigger is described below.

trigger triggerOnRegionOrRevenueChange on Lead (after Insert,after Update) {

if(Trigger.NEW != null && Trigger.NEW.Size() > 0){

if(Trigger.isUpdate){

if((Trigger.NEW[0].Region__c != Trigger.OLD[0].Region__c) ||  (Trigger.NEW[0].Revenue__c!= Trigger.OLD[0].Revenue__c) ){

    AggregateResult[] groupedResults  = [SELECT Region__c, SUM(Revenue__c) FROM Lead GROUP BY Region__c];

    List<Campaign> campaigns = new List<Campaign>();

    for (AggregateResult ar : groupedResults)  {

        System.debug('Campaign ID' + ar.get('Region__c'));

        System.debug('Average amount' + ar.get('expr0'));        

        campaigns.add(new campaign(Name = 'Camp-'+ar.get('Region__c'),Region__c= (String)ar.get('Region__c'),revenue__c=  String.valueOf(ar.get('expr0')) ));

    }

    insert campaigns;

    System.debug('>> Inserted Campaigns '+campaigns);

 

}

if(Trigger.isInsert){

 AggregateResult[] groupedResults  = [SELECT Region__c, SUM(Revenue__c) FROM Lead GROUP BY Region__c];

    List<Campaign> campaigns = new List<Campaign>();

    for (AggregateResult ar : groupedResults)  {

        System.debug('Campaign ID' + ar.get('Region__c'));

        System.debug('Average amount' + ar.get('expr0'));        

        campaigns.add(new campaign(Name = 'Camp-'+ar.get('Region__c'),Region__c= (String)ar.get('Region__c'),revenue__c=  String.valueOf(ar.get('expr0')) ));

    }

    insert campaigns;

 System.debug('>> Inserted Campaigns '+campaigns);

}

}

}

3 respostas
  1. 25 de fev. de 2013, 10:20
    To create a test for a trigger, you need to create an Apex test class.  Here is a basic one to get you  started. You will need to set the fields and values appropriate to your trigger.

     

    public class Test_Triggers {

     

    static testMethod void test_Task()

    {

    Lead l = new Lead(LastName='Tester', Email='

    tester@nowhere.com

    ');

    l.Status = 'Open';

    insert l;

     

    }

    }

0/9000