• Lisa Haigy 53
  • NEWBIE
  • 0 Points
  • Member since 2022

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 1
    Replies
I am trying to deploy a trigger in production and despite having 57% code coverage in Sandbox, I get the following error
Code Coverage Failure Your code coverage is 0%. You need at least 75% coverage to complete this deployment. Business_Hours
What am I missing:

My trigger is:

trigger Business_Hours on Lead (before insert) {
    //Selecting default business hours (BH) record
    BusinessHours defaultBH = [SELECT Id FROM BusinessHours WHERE IsDefault = true Limit 1];
    //Making sure BH record exists
    if(defaultBH != NULL){
        for(Lead leadObj : trigger.new ){
            //Making sure that first call made field is populated and is updated
            if(leadObj.Call_Made__c != NULL && Trigger.oldMap.get(leadObj.Id).Call_Made__c != leadObj.Call_Made__c){
               decimal result = BusinessHours.diff(defaultBH.Id, leadObj.CreatedDate, leadObj.Call_Made__c );
            Decimal resultingMinutes = result/(60000);
                //Populating result into custom field & setting number of decimals
                leadObj.Elapsed_Time__c = resultingMinutes.setScale(4); 
            }  
        }    
    } 
}
Test Class:
@isTest

public class Business_Hours_Test
{
    static testMethod void testUnit()
    {
        
        
        Lead led = new Lead();
        led.lastname = 'Test';
        led.firstName ='Test';
        led.company = 'ABC';
        led.Brand__c = 'Rain';
        led.Call_Made__c = System.today();
        led.CreatedDate = System.today();
        led.Elapsed_Time__c = 736;
        // Add all required field
        update led;
        
    }
}
I am trying to deploy a trigger in production and despite having 57% code coverage in Sandbox, I get the following error
Code Coverage Failure Your code coverage is 0%. You need at least 75% coverage to complete this deployment. Business_Hours
What am I missing:

My trigger is:

trigger Business_Hours on Lead (before insert) {
    //Selecting default business hours (BH) record
    BusinessHours defaultBH = [SELECT Id FROM BusinessHours WHERE IsDefault = true Limit 1];
    //Making sure BH record exists
    if(defaultBH != NULL){
        for(Lead leadObj : trigger.new ){
            //Making sure that first call made field is populated and is updated
            if(leadObj.Call_Made__c != NULL && Trigger.oldMap.get(leadObj.Id).Call_Made__c != leadObj.Call_Made__c){
               decimal result = BusinessHours.diff(defaultBH.Id, leadObj.CreatedDate, leadObj.Call_Made__c );
            Decimal resultingMinutes = result/(60000);
                //Populating result into custom field & setting number of decimals
                leadObj.Elapsed_Time__c = resultingMinutes.setScale(4); 
            }  
        }    
    } 
}
Test Class:
@isTest

public class Business_Hours_Test
{
    static testMethod void testUnit()
    {
        
        
        Lead led = new Lead();
        led.lastname = 'Test';
        led.firstName ='Test';
        led.company = 'ABC';
        led.Brand__c = 'Rain';
        led.Call_Made__c = System.today();
        led.CreatedDate = System.today();
        led.Elapsed_Time__c = 736;
        // Add all required field
        update led;
        
    }
}