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
Venkatesh Ganta 16Venkatesh Ganta 16 

How to Code Coverage for the below one.

The code is not covering due to the soql query on the test class, can anyone help to rectify this error.


Apex Class:-

public class DispatchController {

       public class finalReturnList
    {
        public string region{get;set;}
        public List<deliveryDetails> detailsList{get;set;}
    }
    public class deliveryDetails
    {
        public integer sno{get;set;}
        public Decimal size360mtr{get;set;}
        public Decimal size300mtr{get;set;}
        public string partyName1{get;set;}
        public string partyName2{get;set;}
        Public string Region{get;set;}
        public String donum{get;set;}
        public String City{get;set;}
        public Date    Dodate{get;set;}
        public Decimal Freight{get;set;}
        public Decimal Meter{get;set;} 
        public Decimal Weight{get;set;}
        public Decimal Tonnes{get;set;}
        public string Transporter{get;set;}
        public Decimal size275mtr{get;set;}
        public Decimal size250mtr{get;set;}
        public Decimal size225mtr{get;set;}
        public Decimal size200mtr{get;set;}
        public Decimal size175mtr{get;set;}
        public Decimal size150mtr{get;set;}
        public Decimal size125mtr{get;set;}
        public Decimal size100mtr{get;set;}
        public Decimal size335mtr{get;set;}
        public Decimal size180mtr{get;set;}
        public Decimal sizeAR10{get;set;}
        public Decimal sizeAR2{get;set;}
        public Decimal sizeAR9{get;set;}
        public Decimal size15SC{get;set;}
    }

    public list<finalReturnList> finalReturnLists{get;set;}
    public Id getid{get;set;}
    public DispatchController(ApexPages.StandardController controller) 
    {
         
   
        getid=ApexPages.currentPage().getParameters().get('id');
        
    
 
        Map<string,List<deliveryDetails>> regionMap=new Map<string,List<deliveryDetails>>();
        List<Delivery_Order__c> delOrderList=[Select Id,Name,Dispatch_Schedule__c,Name_Address_Of_Buyer__c,Name_Address_Of_Consignee__c,D_O_No__c,D_O_Date__c,Freight__c,District_for_DS_pdf__c,Weight__c,Destination_Address__c,Tonnes__c,Transporter__c,Total_Meters__c,Freights__c,Dealer_Name_for_DS__c,Distributor_Name_for_DS__c,Total_weight_Tonn_for_Metal__c,Region__c,(SELECT Id,Quantity_In_Number__c,Size__c,Products__r.Product_Specification__c,Name from ProductLineItems__r )  from Delivery_Order__c Where Status__c='Added to Dispatch Schedule'AND Dispatch_Schedule__c =:getid ORDER BY Region__c ASC];
        if(!delOrderList.isEmpty())
        {
            integer i=1;
            for(Delivery_Order__c obj:delOrderList)
            {
                deliveryDetails dlvObj=new deliveryDetails();
                dlvObj.sno=i;
                dlvObj.partyName1=obj.Dealer_Name_for_DS__c;
                dlvObj.partyName2=obj.Distributor_Name_for_DS__c;
                dlvObj.Region = obj.District_for_DS_pdf__c;
                dlvObj.donum=obj.Name;
                dlvObj.dodate=obj.D_O_Date__c;
                dlvObj.Freight=obj.Freight__c;
                dlvObj.Meter=obj.Total_Meters__c;
                dlvObj.Weight=obj.Weight__c;
               dlvObj.Tonnes=obj.tonnes__c;
                dlvObj.transporter=obj.Transporter__c;
                dlvobj.City = obj.Destination_Address__c;
                for(Product_Line_Items__c objDL:obj.ProductLineItems__r)
                {
                    if(objDL.Products__r.Product_Specification__c=='3.60')
                    {
                        dlvObj.size360mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='3.00')
                    {
                        dlvObj.size300mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.75')
                    {
                        dlvObj.size275mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.50')
                    {
                        dlvObj.size250mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.25')
                    {
                        dlvObj.size225mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.00')
                    {
                        dlvObj.size200mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.75')
                    {
                        dlvObj.size175mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.50')
                    {
                        dlvObj.size150mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.25')
                    {
                        dlvObj.size125mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.00')
                    {
                        dlvObj.size100mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='3.35')
                    {
                        dlvObj.size335mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.83')
                    {
                        dlvObj.size180mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-10')
                    {
                        dlvObj.sizeAR10=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-2')
                    {
                        dlvObj.sizeAR2=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-9')
                    {
                        dlvObj.sizeAR9=objDL.Quantity_In_Number__c;
                    }
                }
                i++;
                
                List<deliveryDetails> dlOrderList=new List<deliveryDetails>();
                if(regionMap.containsKey(obj.Region__c))
                {
                    dlOrderList=regionMap.get(obj.Region__c);
                    dlOrderList.add(dlvObj);
                    regionMap.put(obj.Region__c,dlOrderList);
                }
                else
                {
                     dlOrderList.add(dlvObj);
                    regionMap.put(obj.Region__c,dlOrderList);
                }
            }
            
            List<finalReturnList> finalrtnList=new List<finalReturnList>();
            for(string obj:regionMap.keySet())
            {
                finalReturnList finalrtnObj=new finalReturnList();
                finalrtnObj.region=obj;
                finalrtnObj.detailsList=regionMap.get(obj);
                finalrtnList.add(finalrtnObj);
                finalReturnLists=finalrtnList;
            }
        }
    }

}



Test Class:-

@isTest 
public class DispatchControllerTest
{
     @testSetup
     static void setTestData(){
       Dispatch_Schedule__c dispatch = new Dispatch_Schedule__c();
       
       Product__c prod = new Product__c ();
       Product_Line_Items__c prodlnitem = new Product_Line_Items__c();
       List<Product_Line_Items__c> prodlnitemList = new List<Product_Line_Items__c>();
       dispatch.Name='Dispatch Name';
       dispatch.Status__c='pending';
     
       insert dispatch;
     Delivery_Order__c dlrodr = new Delivery_Order__c();
        dlrodr.Pincode__c= '123233';
        dlrodr.From_Address__c = 'Jaipur-302016';
        dlrodr.To_Address__c=' FAX : 6702713';
        dlrodr.Date_Of_Delivery__c = system.today();
        dlrodr.Status__c = 'Added to Dispatch Schedule';
        dlrodr.GST__c = '24AAACC1206D1ZM';
        dlrodr.Dispatch_Schedule__c=dispatch.id;
        insert dlrodr;
       
        prod.Name='A.C. Sheet (3.0 M) (Haryana)';
        prod.Unit__c='Meter';
        prod.Size__c = 3;
        prod.Product_Type__c = 'A.C. Sheet';
        prod.Weight__c = 5;
        prod.Product_Specification__c ='3.00';
        insert prod;
         Product__c prod1 = new Product__c ();
         prod1.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod1.Unit__c='Meter';
        prod1.Size__c = 3;
        prod1.Product_Type__c = 'A.C. Sheet';
        prod1.Weight__c = 5;
        prod1.Product_Specification__c ='2.00';
        insert prod1;
         
         Product__c prod2 = new Product__c ();
         prod2.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod2.Unit__c='Meter';
        prod2.Size__c = 3;
        prod2.Product_Type__c = 'A.C. Sheet';
        prod2.Weight__c = 5;
        prod2.Product_Specification__c ='1.75';
        insert prod2;
         
         Product__c prod3 = new Product__c ();
         prod3.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod3.Unit__c='Meter';
        prod3.Size__c = 3;
        prod3.Product_Type__c = 'A.C. Sheet';
        prod3.Weight__c = 5;
        prod3.Product_Specification__c ='1.50';
        insert prod3;
         
         Product__c prod4 = new Product__c ();
         prod4.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod4.Unit__c='Meter';
        prod4.Size__c = 3;
        prod4.Product_Type__c = 'A.C. Sheet';
        prod4.Weight__c = 5;
        prod4.Product_Specification__c ='2.75';
        insert prod4;
         
         Product__c prod5 = new Product__c ();
         prod5.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod5.Unit__c='Meter';
        prod5.Size__c = 3;
        prod5.Product_Type__c = 'A.C. Sheet';
        prod5.Weight__c = 5;
        prod5.Product_Specification__c ='1.25';
        insert prod5;

       Price_List__c Plist = new Price_List__c();
         Plist.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist.Unit_Price__c = 150;
         plist.Product_Specification__c ='3';
         plist.Region__c = 'Rajasthan';
         Plist.Product__c = prod.id;
         insert Plist;
         
         Price_List__c Plist1 = new Price_List__c();
         Plist1.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist1.Unit_Price__c = 150;
         plist1.Product_Specification__c ='2';
         plist1.Region__c = 'Rajasthan';
         Plist1.Product__c = prod1.id;
         insert Plist1;
         
         Price_List__c Plist2 = new Price_List__c();
         Plist2.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist2.Unit_Price__c = 150;
         plist2.Product_Specification__c ='1.75';
         plist2.Region__c = 'Rajasthan';
         Plist2.Product__c = prod2.id;
         insert Plist2;
         
         Price_List__c Plist3 = new Price_List__c();
         Plist3.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist3.Unit_Price__c = 150;
         plist3.Product_Specification__c ='1.5';
         plist3.Region__c = 'Rajasthan';
         Plist3.Product__c = prod3.id;
         insert Plist3;
         
         Price_List__c Plist4 = new Price_List__c();
         Plist4.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist4.Unit_Price__c = 150;
         plist4.Product_Specification__c ='2.75';
         plist4.Region__c = 'Rajasthan';
         Plist4.Product__c = prod4.id;
         insert Plist4;
         
         Price_List__c Plist5 = new Price_List__c();
         Plist5.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist5.Unit_Price__c = 150;
         plist5.Product_Specification__c ='1.25';
         plist5.Region__c = 'Rajasthan';
         Plist5.Product__c = prod5.id;
         insert Plist5;
       
        Product_Line_Items__c prodlnitem1 = new Product_Line_Items__c(Name= '2.0 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod1.id,Price_List__c=Plist1.id,Quantity_In_Number__c=1,Size__c ='2.0 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem1);
        Product_Line_Items__c prodlnitem2 = new Product_Line_Items__c(Name= '2.75 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod4.id,Price_List__c=Plist4.id,Quantity_In_Number__c=1,Size__c ='2.75 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem2);
        Product_Line_Items__c prodlnitem3 = new Product_Line_Items__c(Name= '3.0 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='3.0 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem3);
        Product_Line_Items__c prodlnitem4 = new Product_Line_Items__c(Name= '2.25 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.25 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem4);
        Product_Line_Items__c prodlnitem5 = new Product_Line_Items__c(Name= '3.60',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='3.6 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem5);   
        Product_Line_Items__c prodlnitem6 = new Product_Line_Items__c(Name= '2.5 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.5 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem6);
        Product_Line_Items__c prodlnitem7 = new Product_Line_Items__c(Name= '1.75 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod2.id,Price_List__c=Plist2.id,Quantity_In_Number__c=1,Size__c ='1.75 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem7);
        Product_Line_Items__c prodlnitem8 = new Product_Line_Items__c(Name= '1.5 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod3.id,Price_List__c=Plist3.id,Quantity_In_Number__c=1,Size__c ='    1.5 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem8);
        Product_Line_Items__c prodlnitem9 = new Product_Line_Items__c(Name= '1.25 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod5.id,Price_List__c=Plist5.id,Quantity_In_Number__c=1,Size__c ='1.25 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem9);
        Product_Line_Items__c prodlnitem10 = new Product_Line_Items__c(Name= '1.80 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.80 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem10);   
        Product_Line_Items__c prodlnitem11 = new Product_Line_Items__c(Name= '1.0 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.0 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem11);
        Product_Line_Items__c prodlnitem12 = new Product_Line_Items__c(Name= '3.35 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.0 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem12);
      
        prodlnitem.Name='3.6 MTR';
        prodlnitem.Delivery_Order__c=dlrodr.id; 
        prodlnitem.Products__c=prod.id;
        prodlnitem.Quantity_In_Number__c=12;
        prodlnitemList.add(prodlnitem);
         
      
        insert prodlnitemList;
     }
     @isTest
     static void DispatchControllerTest(){
         Delivery_Order__c delivery =[Select Id,Name,Dispatch_Schedule__r.Name,Region__c,(SELECT Id,Quantity_In_Number__c,Size__c,Products__r.Product_Specification__c,Name from ProductLineItems__r )  from Delivery_Order__c Where Dispatch_Schedule__r.Name = : 'Dispatch Name' ];
         Dispatch_Schedule__c dispatch = [select id, Name, Status__c from Dispatch_Schedule__c where Name = : 'Dispatch Name'];
             ApexPages.StandardController sc = new ApexPages.StandardController(delivery);
           DispatchController dispatchschedule = new DispatchController(sc);
            
             PageReference pageRef = Page.DS_Schedule_List; // Add your VF page Name here
          //  pageRef.getParameters().put('getid', dlrodr.id);
            Test.setCurrentPage(pageRef);    
     }     
}

Issue is existing on the Query of Test Class.
AbhinavAbhinav (Salesforce Developers) 
Check this:

https://salesforce.stackexchange.com/questions/244788/how-do-i-write-an-apex-unit-test

https://salesforce.stackexchange.com/questions/244794/how-do-i-increase-my-code-coverage-or-why-cant-i-cover-these-lines

Thanks!