HI I have the code coverage issue Please anybody can let me know the where I am missing - Answers - Salesforce Trailblazer Community
Trailblazer Community
Ask Search:
Support ProductionSupport Production 

HI I have the code coverage issue Please anybody can let me know the where I am missing

global class BatchUncheckconsider1 implements Database.Batchable<sObject>, Database.Stateful {

// instance member to retain state across transactions

global date d = Date.today().addDays(-5);
global Database.QueryLocator start(Database.BatchableContext bc) {
return Database.getQueryLocator([SELECT id FROM Order Where Considered_in_calc__c = True AND DAY_ONLY(LastModifiedDate) <=:d AND Is_Vistex__c !=TRUE
AND Status IN ('Created in SAP','Rejected','Failed in SAP','Closed in SFDC','Fulfilled','Released','Pending Approval')]);
}

global void execute(Database.BatchableContext BC, List<Order> ordList) {

for(Order ord : ordList)
{

Ord.Considered_in_calc__c = FALSE;
}

system.debug('====='+ordList);
update ordList;



}
global void finish(Database.BatchableContext BC) {
Database.executeBatch(new BatchUncheckconsider2());
}


}



Test Class
@isTest
public class BatchUncheckconsider2_Test {
private static testmethod void testmethod1(){
  Product2 prod = new Product2();
        prod.Name = 'test product';
        prod.Isactive = true;
        prod.ProductCode='123';
        prod.NPH__c = NPH.Id;
        prod.Is_Quota__c =TRUE;
        insert prod;

        Product_Sub_Division__c prodgrp = new Product_Sub_Division__c (Name = 'Test Sub Division 1', Parent_Division__c = prod.Id, Code__c = '12');
        insert prodgrp;
        
        SKU_Product__c sku = new SKU_Product__c(Name = 'Test SKU', Division__c = prod.Id, Material_Code__c = '123',Product_Sub_Division__c = prodgrp.Id);
        insert sku;
        
        SKU_Product__c sku1 = new SKU_Product__c(Name = 'Test SKU 1', Division__c = prod.Id, Material_Code__c = '1231',Product_Sub_Division__c = prodgrp.Id);
        insert sku1;
        
        Product2 prod1 = new Product2();
        prod1.Name = 'test product';
        prod1.Isactive = true;
        prod1.ProductCode='123';
        prod1.NPH__c = NPH.Id;
        insert prod1;

        
        User_Product__c up = new User_Product__c();
        up.User__c = fieldexec.Id;
        up.PIC__c = BM.Id;
        up.NPH__c = NPH.Id;
        up.Product__c = prod.Id;
        insert up;

        Sales_Office__c sofc = new Sales_Office__c(Name = 'Cochin', SAP_Code__c = '1234');
        insert sofc;

        Warehouse__c wh = new Warehouse__c(Name = 'Cochin', SAP_Warehouse_Code__c = '12341');
        insert wh;
        
        Warehouse_Sales_Office__c whso = new Warehouse_Sales_Office__c(Sales_Office__c = sofc.Id, Warehouse__c = wh.Id);
        insert whso;
        
        Warehouse__c wh1 = new Warehouse__c(Name = 'Cochin1', SAP_Warehouse_Code__c = '123411');
        insert wh1;
        
        Warehouse_Sales_Office__c whso1 = new Warehouse_Sales_Office__c(Sales_Office__c = sofc.Id, Warehouse__c = wh1.Id);
        insert whso1;
        
        SKU_Discount__c skudisc = new SKU_Discount__c (SKU_Product__c = sku1.Id, End_Date__c = Date.today()+5, Start_Date__c = Date.today()+2, Sales_Office__c = sofc.Id, SAP_Discount__c = 0, SFDC_Discount__c = 0);
        insert skudisc;

        SKU_Contribution__c skucontri = new SKU_Contribution__c (SKU_Product__c = sku.Id, Sales_Office__c = sofc.Id, Index_Points__c = 100, Grade__c = 'A');
        insert skucontri;
        
        SKU_Discount__c skudisc1 = new SKU_Discount__c (SKU_Product__c = sku1.Id, End_Date__c = Date.today()-5, Start_Date__c = Date.today(), Sales_Office__c = sofc.Id, SAP_Discount__c = 0, SFDC_Discount__c = 0);
        insert skudisc1;

        SKU_Contribution__c skucontri1 = new SKU_Contribution__c (SKU_Product__c = sku1.Id, Sales_Office__c = sofc.Id, Index_Points__c = 100, Grade__c = 'A');
        insert skucontri1;
        
        List<Account> acclist = new List<Account>();
        Account acc = new Account();
        acc.Name = 'TestAccount';
        acc.NumberOfEmployees = 1000;
        acc.Cust_Group__c = 'B2C';
        acc.Sales_District__c = 'Madurai';
        acc.Distribution_Channel__c = 'Sales';
        acc.OwnerId = fieldexec.Id;
        acc.Sales_office_via_interface__c = SalesOfficeUtil.getSalesOffice('Cochin').Id;
        acc.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByName().get('SAP Customer').getRecordTypeId();
        acc.Sales_Office__c = 'Cochin';
        acclist.add(acc);
        insert acclist;
        
        Customer_Product__c cstprod = new Customer_Product__c(Customer__c = acc.Id, Product__c = prod.Id, Active__c = True);
        insert cstprod;
        Customer_Product__c cstprod1 = new Customer_Product__c(Customer__c = acc.Id, Product__c = prod1.Id, Active__c = True);
        insert cstprod1;
        
        AccountTeamMember atm = new AccountTeamMember();
        atm.AccountId =  acc.Id;
        atm.userid=fieldExec.Id;
        atm.TeamMemberRole = 'fieldExec';
        insert atm;
         
        Order  ord1 = new Order ();
        ord1.Purchase_Order_Number__c = '1234';
        ord1.Purchase_Order_Date__c = system.today().addDays(3);
        ord1.Product__c = prod.id;
        ord1.EffectiveDate = system.today().addDays(3);
        ord1.Status = 'Draft';
        ord1.AccountId = acc.Id;
        ord1.Considered_in_calc__c = TRUE;
        ord1.Sales_Employee__c = fieldExec.Id;
        ord1.PIC__c = PIC.Id;
        insert ord1;
        
        
        ord1.status = 'Fulfilled';
        update ord1;
        
        Quota__c qVar = New Quota__c();
        qVar.Total_Free_Qty__c = 0;
        qVar.Add_Qunatity__c = 30;
        qVar.Total_Free_Qty__c = qVar.Total_Free_Qty__c + qVar.Add_Qunatity__c;
        qVar.Customer__c = acc.Id;
        qVar.Material_Division__c = prod.id;
        qVar.Agreement_Number__c = '12345';
        insert qVar;  
        
        OrderItem__c oli = new OrderItem__c (SKU_Product__c= sku.Id, Is_Quota__c =true,Quota__c=qVar.Id, Quantity__c = 5,Remarks__c = 'julydisc',Free_Quantity__c = 225,Enter_Discount_Percent__c = 10,Sale_Price__c =100, Order__c = ord1.Id,  Warehouse_SAP_Code__c = '12341');
        insert oli;
        
        OrderItem__c oli1 = new OrderItem__c (SKU_Product__c= sku1.Id, Quantity__c = 5, Free_Quantity__c = 0, Order__c = ord1.Id,  Warehouse_SAP_Code__c = '12341');
        insert oli1;
        
        Date myDate = Date.today();
        Time myTime = Time.newInstance(8, 0, 0, 0);
        DateTime dt1 = DateTime.newInstanceGMT(myDate, myTime);
        Order  ord2 = new Order ();
        ord2.Purchase_Order_Number__c = '1234';
        ord2.Purchase_Order_Date__c = system.today().addDays(3);
        ord2.Product__c = prod.id;
        ord2.EffectiveDate = system.today().addDays(3);
        ord2.Status = 'Draft';
        ord2.AccountId = acc.Id;
        ord2.Considered_in_calc__c = TRUE;
        ord2.Sales_Employee__c = fieldExec.Id;
        ord2.PIC__c = PIC.Id;
        ord2.ZFRE__c = FALSE;  
        ord2.ZVIS__c =  FALSE;
        insert ord2;
        
        ord2.Status = 'Rejected';
        update ord2;
        
        Datetime dateYesterday    = Datetime.now().addDays(-6);       
        Test.setCreatedDate(ord1.Id, dateYesterday); 
        
       
       // Test.startTest();
        BatchUncheckconsider1 shn = new BatchUncheckconsider1( );
        BatchUncheckconsider2 shn2 = new BatchUncheckconsider2();
        database.executeBatch(shn,100 );    
       // Test.stopTest();

       
   
    }
   }
sakshi nagpalsakshi nagpal
Hi Support production,

 Are you getting an error.
or code coverage is less?

 Check this-:
https://www.salesforcetutorial.com/writing-test-class-scheduler-batches/

It could be query for running batch class


 Thanks,
Sakshi