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
mallikharjunarao gundamallikharjunarao gunda 

testclass for trigger code

Hai hall  I am not getting code coverage please helpme
Trigger code
 
trigger Assignannualrevenue on Account (before update)

    if(trigger.isBefore && trigger.isupdate)
{
    for(account a:trigger.new){
        if(a.industry=='Banking')
        a.AnnualRevenue=1000;
         else if(a.industry=='Energy')
        a.AnnualRevenue=5000;
        else
            a.AnnualRevenue=50000;
    }
    }
}

testclass
@istest
public class AssignAnnualrevenue_Test {
@istest
    static void testme(){
       
        Account a1=new account(name='lll',industry='banking',Annualrevenue=null);
        Account a2=new account(name='kkkk',industry='energy' ,Annualrevenue=null);
        Account a3=new account(name='jjj',Annualrevenue=null);
        insert a1;
           insert a2;
           insert a3;
        
        decimal an=1000;
        account ac=[select id,name,industry,Annualrevenue from account where id=:a1.id];
       ac.AnnualRevenue=an;
        system.assertEquals(1000, ac.AnnualRevenue);
        update ac;
          decimal a=5000;
        account ae=[select id,name,industry,Annualrevenue from account where id=:a2.id];
       ae.AnnualRevenue=a;
        system.assertEquals(5000, ae.AnnualRevenue);
        update ae;
        decimal aa=50000;
        account ad=[select id,name,industry,Annualrevenue from account where id=:a3.id];
       ad.AnnualRevenue=aa;
        system.assertEquals(50000, ad.AnnualRevenue);
        update ad;
       
        
        //system.assertEquals(1000, ac.AnnualRevenue);
        //system.assertEquals(5000, ae.AnnualRevenue);
        //system.assertEquals(50000, ad.AnnualRevenue);
     
        
  
    }
}
 
BALAJI CHBALAJI CH
Hi mallikharjunarao,

You just need to update the Accounts, then Trigger itself will assign AnnualRevenue values based on the Industry.
Please find below modified Test Class which covers 100% code:
@istest
public class AssignAnnualrevenue_Test {
    @istest
    static void testme(){
        
        Account a1=new account(name='Acount1',industry='Banking',Annualrevenue=null);
        Account a2=new account(name='Acount2',industry='Energy' ,Annualrevenue=null);
        Account a3=new account(name='Acount3',Annualrevenue=null);
        insert a1;
        insert a2;
        insert a3;
        
        a1.BillingCity = 'City';
        Update a1;
        
        a2.BillingCity = 'City';
        Update a2;
        
        a3.BillingCity = 'City';
        Update a3;
        
        account ac=[select id,name,industry,Annualrevenue from account where id=:a1.id];
        account ae=[select id,name,industry,Annualrevenue from account where id=:a2.id];
        account ad=[select id,name,industry,Annualrevenue from account where id=:a3.id];
                
        system.assertEquals(1000, ac.AnnualRevenue);
        system.assertEquals(5000, ae.AnnualRevenue);
        system.assertEquals(50000, ad.AnnualRevenue); 
    }
}
Let us know if that helps you.

Best Regards,
BALAJI
 
Tanuja JTanuja J
@isTest(SeeAllData= true)
public class testAssignannualrevenue {
    static testmethod void verifytest(){
        Account acc = new Account(Name='Test Account',Industry='Apparel',annualrevenue=null);
        insert acc;
        
        acc.Industry='Banking';
        update acc;
        acc.Industry='Energy';
        update acc;
        acc.Industry='Agriculture'; 
        update acc;
    }
    
}