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
Shishir Mishra 10Shishir Mishra 10 

Hi I am trying to deploy a trigger on Campagin Members from Sandbox to production but while Validating it i am getting an error the Code coverage is 0% and it should me atleast 1%

PratikPratik (Salesforce Developers) 
Hi Shishir,

Have you written the test class for the trigger that you are deploying?
https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_qs_test.htm

Thanks,
Pratik
Shishir Mishra 10Shishir Mishra 10
Since I am new to this and don't have any idea about the same. Can you please guide me to writte the test class for the trigger. Below mention is the trigger which I wanted to deploy:


Trigger HistoryTrack on CampaignMember (after insert, before update, before delete) {          List<CampaignMemberHistory__c> ch= new List<CampaignMemberHistory__c>(); List<CampaignMember> cmOld= Trigger.old;  List<String> changes  = new List<String>(); List<String> CampHisId  = new List<String>(); integer i=0;     if(Trigger.isDelete){
            for(CampaignMember cm: Trigger.old ){     
                       String s;                            
                       s='Campaign Member id ' + cm.id + 
                       'is Deleted from campaign id: '+ cm.campaignId + 'by user '+ userinfo.getUserName();                                        
                       changes.add(s);
                       CampHisId.add(cm.campaignId);
                       CampaignMemberHistory__c c= new CampaignMemberHistory__c();               
                       c.Name='History'+DateTime.now();  
                       System.debug('CName:'+c.Name);
                       c.CampaignId_c__c=CampHisId[i];
                       System.debug('CampaignId:'+c.CampaignId_c__c);                              
                       c.HistoryDetails_c__c=changes[i];
                      System.debug('CHistory:'+c.HistoryDetails_c__c);         
                      ch.add(c);                              
                      i++;           
             } 
        }else {      
                     for(CampaignMember cm: Trigger.new ){  
                            String s;
                            if((Trigger.isUpdate)){
                                   if(cmOld[i].OSS_Status__c!=cm.OSS_Status__c){    
                                          s=' OSS Status changed from ' + cmOld[i].OSS_Status__c + ' to ' + cm.OSS_Status__c +                        
                                            ' by user ' + userinfo.getUserName();
                                           
                                           changes.add(s);
                                          CampHisId.add(cm.campaignId);                                                  
                                          CampaignMemberHistory__c c= new CampaignMemberHistory__c();                          
                                          c.Name='History'+DateTime.now();
                                          System.debug('CName:'+c.Name);
                                          c.CampaignId_c__c=CampHisId[i];                        
                                          System.debug('CampaignId:'+c.CampaignId_c__c);                                      
                                          c.HistoryDetails_c__c=changes[i];
                                          System.debug('CHistory:'+c.HistoryDetails_c__c);
                                          ch.add(c); 
                                      }else if(cmOld[i].campaignId!=cm.campaignId){                        
                                                s='Changed Campaign id from : '+ cmOld[i].campaignId + 'to :' + cm.campaignId +                        
                                                    ' by user '+ userinfo.getUserName();  
                                              changes.add(s);                        
                                             CampHisId.add(cm.campaignId);                                                            
                                            CampaignMemberHistory__c c= new CampaignMemberHistory__c();                           
                                            c.Name='History'+DateTime.now();
                                            System.debug('CName:'+c.Name);              
                                            c.CampaignId_c__c=CampHisId[i];                   
                                           System.debug('CampaignId:'+c.CampaignId_c__c);                                          
                                            c.HistoryDetails_c__c=changes[i];
                                            System.debug('CHistory:'+c.HistoryDetails_c__c);                         
                                            ch.add(c);
                                         }             
                           }else if(Trigger.isInsert){                                
                                       s='A new Campaign Member id : ' + cm.id + ' is added to Campaign id :' + cm.campaignId +                                                          ' by user '+ userinfo.getUserName();
                                       changes.add(s);                    
                                       CampHisId.add(cm.campaignId);                    
                                       System.debug('s>>>'+s);                                                                    
                                       CampaignMemberHistory__c c= new CampaignMemberHistory__c();
                                       c.Name='History'+DateTime.now();                   
                                       System.debug('CName:'+c.Name);
                                       c.CampaignId_c__c=CampHisId[i];
                                       System.debug('CampaignId:'+c.CampaignId_c__c);                                          
                                       c.HistoryDetails_c__c=changes[i];
                                       System.debug('CHistory:'+c.HistoryDetails_c__c);                                        
                                       ch.add(c);
                            } 
                            i++;     
                       }         
                }    
                insert ch;
     }



The triiger is to monitor the Campaign Member History 
Raja ReddyRaja Reddy
Hi Shishir Mishra,
Please go through this link :http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_deploying_ant_deploy.htm

NOTE: Your trigger must have some code coverage while deploying.