You need to sign in to do that
Don't have an account?

how to increase apex trigger code coverage in test class
Hi,
Below is the apex trigger which i have written. But i got only 64% code coverage. I am not getting how to increase code coverage. Please help me how to increase code coverage.
Below is the test class.
Below is the apex trigger which i have written. But i got only 64% code coverage. I am not getting how to increase code coverage. Please help me how to increase code coverage.
trigger LeadTrigger on Lead (before insert,before update, after update) { Map<String, String> dispositionMap = new Map<String, String>(); Map<String, DateTime> dispositionDateTimeMap = new Map<String, DateTime>(); List<Id> leadIds = new List<Id>(); if(Trigger.isInsert) { leadCategorizationClass.leadCategorization(Trigger.new,Trigger.oldMap); //Lead Categorization LeadHelperClass.AddNewLead(Trigger.New); //NEW LEAD leadAllocationClass.leadAllocation(Trigger.New); //GO TO CSO leadReAllocationClass.setRMLeadOpptyInfo(Trigger.New, Trigger.oldMap); //When RM is Assigned } else if(Trigger.isUpdate && Trigger.isBefore) { leadCategorizationClass.leadCategorization(Trigger.new,Trigger.oldMap); //Lead Categorization if(stopRecClass.stopRec==false){ leadReAllocationClass.leadAllocationFromQueue(Trigger.New,Trigger.oldMap);//CSO allocation for Queue. leadReAllocationClass.setRMLeadOpptyInfo(Trigger.New, Trigger.oldMap); //When RM is Assigned stopRecClass.stopRec=true; } for(lead ld: trigger.new) { if((ld.Dispositions__c!=trigger.oldMap.get(ld.id).Dispositions__c) && (ld.Dispositions__c=='Appointment Fixed' || ld.Dispositions__c=='Follow Up' || ld.Dispositions__c=='Engaged' || ld.Dispositions__c=='Number was busy' || ld.Dispositions__c=='Ringing Not Responding' || ld.Dispositions__c=='Not available')) { if(dispositionMap.containsKey(ld.Dispositions__c)) dispositionMap.put(ld.Dispositions__c,dispositionMAP.get(ld.Dispositions__c)+',91'+ld.Mobile_Number__c); else dispositionMap.put(ld.Dispositions__c,'91'+ld.Mobile_Number__c); if(ld.Dispositions__c=='Appointment Fixed') { dispositionDateTimeMap.put(ld.Dispositions__c, ld.Appointment_Creation_Date__c); } else if(ld.Dispositions__c=='Follow Up') { dispositionDateTimeMap.put(ld.Dispositions__c, ld.Prefered_Date_Time__c); } } ld.Email_Internal__c = ld.Email; } if(!dispositionMap.IsEmpty()){ // call method helper class LeadHelperClass.sendingSMS(dispositionMap, dispositionDateTimeMap); } } else if(Trigger.isUpdate && Trigger.isAfter) { // for FarEye Integration // system.debug('After Update Trigger Fired'); for(lead ld: Trigger.New) { if(((ld.Dispositions__c!=trigger.oldMap.get(ld.id).Dispositions__c) && (ld.Dispositions__c=='Appointment Fixed') && (ld.RM__c!=null)) || (ld.Resend_To_FarEye__c==true) ) { system.debug('Class Calling'); leadIds.add(ld.Id); //system.debug('Class End of Calling'); } } system.debug('IDS: '+leadIds.size()); if(leadIds.size()>0) { // call batch class here system.debug('<<<<<<<<<< Batch Called After Update'); Database.executeBatch(new BatchClassFarEyeIntegrationLead(leadIds)) ; }}}
Below is the test class.
@isTest public class TestLeadHelperClass { Public static testmethod void testLeadHelper() { Campaign cp = new Campaign(Name='test', IsActive=true, Interested_Product__c='LI', Channel__c='Retail'); insert cp; Lead L1 = new Lead(FirstName='Harsh',LastName='Test',Email= 'sachin@gmail.com', Status='CSOAllocated',Company = 'Test Name', Remarks__c= 'good',Client_Type__c='NRI',Postal_Code__c='474001',Tax_Bracket__c='5%',Disposition_Category__c='General', Dispositions__c='Appointment Fixed', Interested_Product__c='Mutual Fund',Mobile_Number__c='9669259232', Appointment_Creation_Date__c = System.Today(), Campaigns__c= cp.id); insert L1; List<Lead> LT = new List<Lead>(); LT.add(L1); Lead l = [SELECT Id, FirstName,LastName,Email,Status,Company ,Remarks__c,Client_Type__c,Postal_Code__c,Tax_Bracket__c,Disposition_Category__c,Dispositions__c,Interested_Product__c,Mobile_Number__c,Campaigns__c FROM Lead WHERE Id = :LT[0].Id]; l.FirstName= 'Test Account 2'; update l; Account acc = new Account(Name ='Testing', Client_Code_KYC__c='newsourcecode'); insert acc; Opportunity opp1 = new Opportunity( Name = 'mAWS Usage', StageName = 'Negotiations', CloseDate = System.today(),Email__c='abc@gmail.com', Client_Type__c='Individual', AccountId=acc.Id); insert opp1; Task t = new task(WhatID = opp1.id,Subject='Donni',Status='New',Priority='Normal'); insert t; SMSSetings__c sms = new SMSSetings__c(Disposition_Name__c = 'testsms',SMS_Content__c = 'testsms content' ); Map<String, String> dispositionMap = new Map<String, String>{'test'=>'test1'}; DateTime dat = datetime.newInstance(2014, 9, 15, 12, 30, 0); Map<String, DateTime> dispositionDateTimeMap= new Map<String, DateTime>{'test'=>dat}; LeadHelperClass lc = new LeadHelperClass(); LeadHelperClass.AddNewLead(LT); } }Thanks in Advance.
if this is a master trigger and the test class is intended to run just part of it you need to run all other test clases to get more cover.
wil,