New to writing Apex Triggers and I tried to take it from my Sandbox to production but it said I need to get coverage on the Apex Trigger I have written. I tried going through some of the start off documents but I can't really find anything that is of help.
Can you all help me out? I have the Apex Trigger below.
trigger CreateRenewalOpportunityNewBusiness on Opportunity (after update, after insert) {
List<Id> opps = new List<Id>();
for( Opportunity opp : Trigger.new ) {
if( ( opp.StageName != 'Closed Won' ) ||
( Trigger.isUpdate && (Trigger.oldMap.get(opp.Id).StageName == opp.StageName ) ) ) {
continue;
}
if( ( opp.Has_Renewal__c != True ) ) {
continue;
}
opps.add( opp.Id );
}
Map<Id,Opportunity> oppsMap = new Map<Id,Opportunity>( [SELECT Id, Amount, Account.Id, CloseDate, OwnerId, Account.Name, Account.Renewal_Date__c, RecordTypeId from Opportunity where Id IN :opps] );
List<Opportunity> renewalOpps = new List<Opportunity>();
for( Opportunity opp : oppsMap.values() ) {
Opportunity renewalOpp = new Opportunity();
Date closeDate = opp.CloseDate;
String renewalDateString = '' + renewalDate;
renewalDateString = renewalDateString.substring(0, renewalDateString.indexOf(' '));
renewalOpp.CloseDate = opp.Account.Renewal_Date__c;
renewalOpp.OwnerId = opp.OwnerId;
renewalOpp.AccountId = opp.AccountId;
renewalOpp.Amount = opp.Amount;
renewalOpp.StageName = 'Id. Decision Maker';
renewalOpp.RecordTypeId = '012c00000008iek';
renewalOpp.Name = opp.Account.Name + ' > Renewal';
renewalOpp.Type = 'Renewal';
renewalOpp.Original_Opportunity__c = opp.Id;
renewalOpps.add(renewalOpp);
}
insert renewalOpps;
}